Vinaitheerthan Sundaram
Purdue University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Vinaitheerthan Sundaram.
international conference on embedded networked sensor systems | 2010
Vinaitheerthan Sundaram; Patrick Eugster; Xiangyu Zhang
Wireless sensor networks (WSNs) are hard to program due to unconventional programming models used to satisfy stringent resource constraints. The common event-driven concurrent programming model and lack of kernel protection in these systems introduce the possibility of several subtle faults such as race conditions. These faults are often triggered by unexpected interleavings of events in the real world, and can occur long after their causes. Reproducing a fault from the trace of the past events can play a crucial role in debugging such faults. The same tight constraints that motivate the specific programming model however make tracing challenging. This paper proposes an efficient intra-procedural and inter-procedural control-flow tracing algorithm that generates the traces of all interleaving concurrent events. Our approach enables reproducing faults at a later stage, allowing the programmer to identify them effectively. We argue for the accuracy of our approach through case studies, and illustrate its low overhead through measurements and simulations.
ACM Transactions on Sensor Networks | 2013
Vinaitheerthan Sundaram; Patrick Eugster; Xiangyu Zhang; Vamsidhar Addanki
Wireless sensor networks are typically deployed in harsh environments, thus post-deployment failures are not infrequent. An execution trace containing events in their order of execution could play a crucial role in postmortem diagnosis of these failures. Obtaining such a trace however is challenging due to stringent resource constraints. We propose an efficient approach to intraprocedural and interprocedural control-flow tracing that generates traces of all interleaving concurrent events and of the control-flow paths taken inside those events. We demonstrate the effectiveness of our approach with the help of case studies and illustrate its low overhead through measurements and simulations.
Proceedings of the 4th International Workshop on Middleware Tools, Services and Run-Time Support for Sensor Networks | 2009
Vinaitheerthan Sundaram; Patrick Eugster; Xiangyu Zhang
Wireless Sensor Networks (WSNs) are being increasingly deployed in the real world to monitor the environment and large industrial infrastructures. The extreme resource constraints inherent to WSNs, the in situ deployment in harsh environments and the lack of run-time support tools make debugging and maintaining WSN applications very challenging. In particular, run-time debugging tools are required to detect and diagnose complex run-time faults such as race-conditions, which occur due to unexpected interaction with the real-world environment. The ability to repeatedly reproduce the failure by replaying the execution from the trace of events that took place can play a crucial role in debugging such faults. Obtaining such a trace is made difficult due to tight resource constraints. In this paper, we propose a lightweight tracing tool for WSNs which uses a novel control flow tracing and encoding scheme to generate a highly compressed control-flow trace. In addition to the construction of the trace, our tracing tool supports storing the trace in non-volatile memory and querying interface that allows base station to retrieve the trace when needed. We show the effectiveness of our tracing tool through a case-study and illustrate its low overhead through measurements.
international conference on embedded networked sensor systems | 2012
Vinaitheerthan Sundaram; Patrick Eugster; Xiangyu Zhang
Several diagnostic tracing techniques (e.g., event, power, and control-flow tracing) have been proposed for run-time debugging and postmortem analysis of wireless sensor networks (WSNs). Traces generated by such techniques can become large, defying the harsh resource constraints of WSNs. Compression is a straightforward candidate to reduce trace sizes, yet is challenged by the same resource constraints. Established trace compression algorithms perform unsatisfactorily under these constraints. We propose Prius, a novel hybrid (offline/online) trace compression technique that enables application of established trace compression algorithms for WSNs and achieves high compression rates and significant energy savings. We have implemented such hybrid versions of two established compression techniques for TinyOS and evaluated them on various applications. Prius respects the resource constraints of WSNs (5% average program memory overhead) whilst reducing energy consumption on average by 46% and 49% compared to straightforward online adaptations of established compression algorithms and the state-of-the-art trace-specific compression algorithm respectively.
IEEE Software | 2015
Patrick Eugster; Vinaitheerthan Sundaram; Xiangyu Zhang
The Internet of Things (IoT) has the strong potential to support a human society interacting more symbiotically with its physical environment. Indeed, the emergence of tiny devices that sense environmental cues and trigger actuators after consulting logic and human preferences promises a more environmentally aware and less wasteful society. However, the IoT inherently challenges software development processes, particularly techniques for ensuring software reliability. Researchers have developed debugging tools for wireless sensor networks (WSNs), which can be viewed as the enablers of perception in the IoT. These tools gather run-time information on individual sensor node executions and node interactions and then compress that information.
dependable systems and networks | 2013
Vinaitheerthan Sundaram; Patrick Eugster
Wireless sensor networks (WSNs) deployments are subjected not infrequently to complex runtime failures that are difficult to diagnose. Alas, debugging techniques for traditional distributed systems are inapplicable because of extreme resource constraints in WSNs, and existing WSN-specific debugging solutions address either only specific types of failures, focus on individual nodes, or exhibit high overheads hampering their scalability. Message tracing is a core issue underlying the efficient and effective debugging of WSNs. We propose a message tracing solution which addresses key challenges in WSNs - besides stringent resource constraints, these include out-of-order message arrivals and message losses - while being streamlined for the common case of successful in-order message transmission. Our approach reduces energy overhead significantly (up to 95% and on average 59% smaller) compared to state-of-the-art message tracing approaches making use of Lamport clocks. We demonstrate the effectiveness of our approach through case studies of several complex faults in three well-known distributed protocols.
symposium on cloud computing | 2016
Julian James Stephen; Savvas Savvides; Vinaitheerthan Sundaram; Masoud Saeida Ardekani; Patrick Eugster
With the advent of the Internet of Things (IoT), billions of devices are expected to continuously collect and process sensitive data (e.g., location, personal health). Due to limited computational capacity available on IoT devices, the current de facto model for building IoT applications is to send the gathered data to the cloud for computation. While private cloud infrastructures for handling large amounts of data streams are expensive to build, using low cost public (untrusted) cloud infrastructures for processing continuous queries including on sensitive data leads to concerns over data confidentiality. This paper presents STYX, a novel programming abstraction and managed runtime system, that ensures confidentiality of IoT applications whilst leveraging the public cloud for continuous query processing. The key idea is to intelligently utilize partially homomorphic encryption to perform as many computationally intensive operations as possible in the untrusted cloud. STYX provides a simple abstraction to the IoT developer to hide the complexities of (1) applying complex cryptographic primitives, (2) reasoning about performance of such primitives, (3) deciding which computations can be executed in an untrusted tier, and (4) optimizing cloud resource usage. An empirical evaluation with benchmarks and case studies shows the feasibility of our approach.
pacific rim international symposium on dependable computing | 2007
Vinaitheerthan Sundaram; Sandip HomChaudhuri; Sachin Garg; Chandra M. R. Kintala; Saurabh Bagchi
We propose a comprehensive solution to handle memory-overflow problems in multitasking embedded systems thereby improving their reliability and availability. In particular, we propose two complementary techniques to address two significant causes of memory-overflow problems. The first cause is errors in estimating appropriate stack and heap memory requirement. Our first technique, called shared supplementary memory (SSM), exploits the fact that the probability of multiple tasks requiring more than their estimated amount of memory concurrently is low. Using analytical model and simulations, we show that reliability can be considerably improved when SSM is employed. Furthermore, for the same reliability, SSM reduces total memory requirement by as much as 29.31% The second cause is the presence of coding Mandelbugs, which can cause abnormal memory requirement. To address this, we propose a novel technique, called opportunistic micro-rejuvenation, which when combined with SSM, provide several advantages: preventing critical-time outage, resource frugality and dependability enhancement.
information processing in sensor networks | 2015
Matthew Tancreti; Vinaitheerthan Sundaram; Saurabh Bagchi; Patrick Eugster
Wireless sensor networks (WSNs) are plagued by the possibility of bugs manifesting only at deployment. However, debugging deployed WSNs is challenging for several reasons---the remote location of deployed sensor nodes, the non-determinism of execution that can make it difficult to replicate a buggy run, and the limited hardware resources available on a node. In particular, existing solutions to record and replay debugging in WSNs fail to capture the complete code execution, thus negating the possibility of a faithful replay and causing a large class of bugs to go unnoticed. In short, record and replay logs a trace of predefined events while a deployed application is executing, enabling replaying of events later using debugging tools. Existing recording methods fail due to the many sources of non-determinism and the scarcity of resources on nodes. In this paper we introduce Trace And Replay Debugging In Sensornets (Tardis), a software-only approach for deterministic record and replay of WSN nodes. Tardis is able to record all sources of non-determinism, based on the observation that such information is compressible using a combination of techniques specialized for respective sources. Despite their domain-specific nature, the techniques presented are applicable to the broader class of resource-constrained embedded systems. We empirically demonstrate the viability of our approach and its effectiveness in diagnosing a newly discovered bug in a widely used routing protocol.
grid computing environments | 2008
Vinaitheerthan Sundaram; Lan Zhao; Carol Song; Bedrich Benes; Rakesh Veeramacheneni; Peter Kristof
The high resolution NEXRAD level II data provides critical information for researchers and the broader community to understand, monitor, and predict weather in a timely manner. There are several limitations in existing systems for providing easy-to-access 3D visualization of the radar data to the user community. In this paper, we present a scalable and user driven solution for near-real-time remote radar data access, processing, and 3D visualization. The system provides multi-layered interfaces for a broad range of users with different levels of services, allowing them to interactively explore data from multiple radar stations over a time period of interest. Parallel data pre-processing using the Purdue Condor pool and volume caching are implemented to help improve the system response time and scalability. The system also provides reusable radar data services and a set of access points which can be invoked by third party applications. With this hierarchical and user driven design, our system creates a rich and easy to use NEXRAD data service environment for research and education users.