Anand Tripathi is a Professor of Computer Science at the University of Minnesota, Minneapolis. He is an IEEE Fellow and a member of the ACM. His research interests are in distributed systems, middleware systems, pervasive computing, system security, and fault-tolerant computing.
He received his M.S. (1978) and Ph.D. (1980) in Electrical Engineering from the University of Texas at Austin, and B.Tech in Electrical Engineering from the Indian Institute of Technology, Bombay, in 1972. He worked as a Scientific Officer at Bhabha Atomic Research Center, India, during 1973–75 . During 1981–84 he worked as a Senior Principal Research Scientist at Honeywell Computer Science Center, Minneapolis. He joined the University of Minnesota in 1984. During 1995–97, he served as a Program Director in the Division of Computer and Communications Research at the National Science Foundation, Arlington, Virginia. He is currently serving on the editorial board of IEEE Transactions on Dependable and Secure Computing.
He served as an at-large member of the IEEE Computer Society Publications Board (2001–2005). He has served on the editorial boards of IEEE Transactions on Computers, Elsevier Journal on Pervasive and Mobile Computing, IEEE Pervasive Computing, and IEEE Distributed Systems Online.
He was the Program Chair for the IEEE Symposium on Reliable Distributed Systems (SRDS’2001), Second IEEE International Conference on Pervasive Computing and Communications (PerCom’2004) and International Conference on Parallel Programming (ICPP’2014), and served as a Vice Program Chair for IEEE PerCom in 2003 and International Conference on Distributed Computing Systems (ICDCS) in 1997. He served as the Program Chair for the IEEE Workshop on Mobile Distributed Computing (MDC) held in June 2003. He was one of the organizers of two ECOOP (European Conference on Object Oriented Programming) Workshops on exception handling (2000 and 2003), and co-editor for two Springer LNCS volumes on exception handling, published in 2002 and 2006. He was the principal organizer of the ACM OOPSLA’2000 Workshop on mobile agent systems, and IEEE ICSE’2007 Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments (SEPCASE). He served as a co-editor of two special issues of IEEE Transactions on Software Engineering on exception handling (Sept.–Oct. 2000). He has served on the program committees of more than 50 conferences and workshops.
University of Minnesota, Minneapolis
DVP term expires December 2021
Scalable Consensus Protocols and System Architectures for Blockchain Services
Bitcoin’s blockchain technology is emerging as an important approach for the decentralized management of digital assets ownership. A blockchain is a replicated ledger maintained in a decentralized manner, without requiring a central authority. A distributed consensus protocol is needed to ensure a globally-agreed total order on the blocks in the chain. For this, Bitcoin uses a technique called Proof-of-Work (PoW) which requires each node wanting to append a new block to the chain to solve some hard cryptographic puzzle. This PoW-based mechanism of Bitcoin provides probabilistic guarantees for consensus. This leads to several inherent difficulties in scaling its performance. The PoW based consensus technique also requires an inordinate amount of computing and electrical power. This talk presents the current research trends and directions in the investigation of alternative approaches for building scalable blockchain services. The current trends in this direction include the use of classical consensus protocols with Byzantine Fault Tolerance (BFT), sharding for parallel execution of validation tasks, alternate data models, such as multi-chains in place of a linear chain, and the use of other trust models and mechanisms in place of the PoW model. The alternate trust models being considered for this purpose include Proof-of-Stake (PoS), Proof-of-Authority (PoA), and Proof-of-Elapsed Time (PoET).
Beehive: A Parallel Programming Framework for Graph Problems
Beehive is a parallel programming framework, which will provide a simple and robust model for large-scale graph data analytics applications on clusters and cloud computing platforms. In such applications, parallelism tends to be fine-grain and amorphous, which makes it difficult to extract parallelism at a coarse-grain level using the commonly available techniques. For efficiently harnessing fine-grain amorphous parallelism in graph problems, the Beehive computing model is based on speculative parallel execution of tasks in a cluster-computing environment. This approach is supported, providing a key-value based in-memory storage implemented on a cluster of computers, for storing and manipulating graph data. The intermediate results of the parallel computations all stored in the shared storage and exposed to all the processes. In this model multiple tasks are scheduled to execute in parallel, and each task is executed as a transaction, ensuring the atomicity and isolation properties of concurrent task executions. This talk presents the transaction-based parallel programming model of Beehive and the design of its system architecture. We present the multipronged approach that was taken for scaling the performance of this system.
Scalable Transaction Management in Key-Value Based Distributed Data Stores
This talk presents the results of our investigation of scalable techniques for transaction management in key-value based data storage systems. We present here techniques developed for supporting scalable transaction management with ACID (atomicity, consistency, isolation, and durability) properties for Hadoop/HBase system. The approach adopted in this work is based on the Snapshot Isolation (SI) model. Hadoop/HBase system supports only single-row transactions. Our approach leverages the single-row transaction mechanism provided by HBase together with its multi-version data management model for developing techniques for SI-based transactions involving multi-row operations in HBase. Because the SI model can lead to non-serializable transaction executions, we investigated two techniques for ensuring serializability. We developed two system architectures and demonstrated their scale-out capabilities.
- Scalable Consensus Protocols and System Architectures for Blockchain Services
- Beehive: A Parallel Programming Framework for Graph Problems
- Scalable Transaction Management in Key-Value Based Distributed Data Stores