Sathya Peri

Sathya Peri
  • Doctor of Philosophy
  • Indian Institute of Technology Hyderabad

About

96
Publications
9,479
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
460
Citations
Current institution
Indian Institute of Technology Hyderabad

Publications

Publications (96)
Preprint
Full-text available
Efficient task scheduling is paramount in parallel programming on multi-core architectures, where tasks are fundamental computational units. QR factorization is a critical sub-routine in Sequential Least Squares Quadratic Programming (SLSQP) for solving non-linear programming (NLP) problems. QR factorization decomposes a matrix into an orthogonal m...
Article
Full-text available
A parameter crucial for preserving the underlying shortest path information in spanning tree construction is called stretch. It is the ratio of the distance of a pair of nodes in the spanning tree to their shortest distance in the graph. In this paper, we present a distributed heuristic LSTree that constructs a Minimum Average Stretch Spanning Tree...
Preprint
In this work, we formalize a novel shared memory model inspired by the popular GPU architecture. Within this model, we develop algorithmic solutions to the Byzantine Consensus problem.
Preprint
Full-text available
Blockchain technology is booming up the digital world in recent days and thus paved a way for creating separate blockchain network for various industries. This technology is characterized by its distributed, decentralized, and immutable ledger system which serves as a fundamental platform for managing smart contract transactions (SCTs). However, th...
Preprint
Full-text available
The SWMR atomic register is a fundamental building block in shared memory distributed systems and implementing it from SWSR atomic registers is an important problem. While this problem has been solved in crash-prone systems, it has received less attention in Byzantine systems. Recently, Hu and Toueg gave such an implementation of the SWMR register...
Chapter
In this paper, we have implemented a dynamic unbounded concurrent graph which can perform the add, delete or lookup operations on vertices and edges concurrently and are linearizable. In addition to these operation s, we also have a wait-free graph snapshot method. To the best of our knowledge, we are the first to develop a wait-free graph snapshot...
Chapter
CRUD operations, along with range queries make a highly useful abstract data type (ADT), employed by many dynamic analytics tasks. Despite its wide applications, to our knowledge, no fully wait-free data structure is known to support this ADT. In this paper, we introduce Uruv, a proactive linearizable and practical wait-free concurrent data structu...
Chapter
Blockchain technology is a distributed, decentralized, and immutable ledger system. It is the platform of choice for managing smart contract transactions (SCTs). Smart contracts are pieces of code that capture business agreements between interested parties and are commonly implemented using blockchains. A block in a blockchain contains a set of tra...
Preprint
Full-text available
Non-blocking search data structures offer scalability with a progress guarantee on high-performance multi-core architectures. In the recent past, "learned queries" have gained remarkable attention. It refers to predicting the rank of a key computed by machine learning models trained to infer the cumulative distribution function of an ordered datase...
Preprint
Full-text available
CRUD operations, along with range queries make a highly useful abstract data type (ADT), employed by many dynamic analytics tasks. Despite its wide applications, to our knowledge, no fully wait-free data structure is known to support this ADT. In this paper, we introduce Uruv, a proactive linearizable and practical wait-free concurrent data structu...
Preprint
Full-text available
Blockchain technology is a distributed, decentralized, and immutable ledger system. It is the platform of choice for managing smart contract transactions (SCTs). Smart contracts are self-executing codes of agreement between interested parties commonly implemented using blockchains. A block contains a set of transactions representing changes to the...
Chapter
Stretch is a metric in the construction of spanning trees that measures the deviation in the distance between a pair of nodes in the tree compared to its shortest distance in the underlying graph. This paper proposes a silent self-stabilizing low stretch spanning tree construction protocol BuildTree , that is based on a Low Diameter Decomposition (...
Article
Full-text available
PageRank kernel is a standard benchmark addressing various graph processing and analytical problems. The PageRank algorithm serves as a standard for many graph analytics and a foundation for extracting graph features and predicting user ratings in recommendation systems. The PageRank algorithm is an iterative algorithm that continuously updates the...
Article
Full-text available
Popular blockchains such as Ethereum and several others execute complex transactions in the block through user-defined scripts known as smart contracts. Serial execution of smart contract transactions/atomic units (AUs) fails to harness the multiprocessing power offered by the prevalence of multi-core processors. By adding concurrency to the execut...
Preprint
Full-text available
Replicated tree data structures are extensively used in collaborative applications and distributed file systems, where clients often perform move operations. Local move operations at different replicas may be safe. However, remote move operations may not be safe. When clients perform arbitrary move operations concurrently on different replicas, it...
Preprint
Full-text available
PageRank is a graph centrality metric that gives the importance of each node in a given graph. The PageRank algorithm provides important insights to understand the behavior of nodes through the connections they form with other nodes. It is an iterative algorithm that ranks the nodes in each iteration until all the node values converge. The PageRank...
Article
Full-text available
Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. Client programs use STMs by issuing transactions. STM ensures that transaction either commits or aborts. A transaction aborted due to c...
Article
Full-text available
Contemporary blockchain such as Bitcoin and Ethereum execute transactions serially by miners and validators and determine the Proof‐of‐Work (PoW). Such serial execution is unable to exploit modern multi‐core resources efficiently, hence limiting the system throughput and increasing the transaction acceptance latency. The objective of this work is t...
Preprint
Full-text available
PageRank is a well-known algorithm whose robustness helps set a standard benchmark when processing graphs and analytical problems. The PageRank algorithm serves as a standard for many graph analytics and a foundation for extracting graph features and predicting user ratings in recommendation systems. The PageRank algorithm iterates continuously, up...
Preprint
Full-text available
Popular blockchains such as Ethereum and several others execute complex transactions in blocks through user-defined scripts known as smart contracts. Serial execution of smart contract transactions/atomic-units (AUs) fails to harness the multiprocessing power offered by the prevalence of multi-core processors. By adding concurrency to the execution...
Article
In the modern era of multi-core systems, the main aim is to utilize the cores properly. This utilization can be done by concurrent programming. But developing a flawless and well-organized concurrent program is difficult. Software Transactional Memory Systems (STMs) are a convenient programming interface which assist the programmer to access the sh...
Conference Paper
Several popular blockchains such as Ethereum execute complex transactions through user-defined scripts. A block of the chain typically consists of multiple smart contract transactions (SCTs). To append a block into the blockchain, a miner executes these SCTs. On receiving this block, other nodes act as validators, who re-execute these SCTs as part...
Conference Paper
Full-text available
The surge in the spread of immensely powerful deep-fakes, pseudo- news, misleading information, lies, propaganda, and false facts, frequently known as fake news, raised questions concerning social media’s influence in today’s fast-moving society. It is challenging to overcome fake news in traditional centralized systems. Blockchain technology can h...
Preprint
Full-text available
The surge in the spread of misleading information, lies, propaganda, and false facts, frequently known as fake news, raised questions concerning social media's influence in today's fast-moving democratic society. The widespread and rapid dissemination of fake news cost us in many ways. For example, individual or societal costs by hampering election...
Preprint
Graph algorithms enormously contribute to the domains such as blockchains, social networks, biological networks, telecommunication networks, and several others. The ever-increasing demand of data-volume, as well as speed of such applications, have essentially transported these applications from their comfort zone: static setting, to a challenging t...
Chapter
To utilize the multi-core processors properly concurrent programming is needed. The main challenge is to design a correct and efficient concurrent program. Software Transactional Memory Systems (STMs) provide ease of multithreading to the programmer without worrying about concurrency issues as deadlock, livelock, priority inversion, etc. Most of th...
Chapter
In this paper, we have developed two non-blocking algorithms for maintaining acyclicity in a concurrent directed graph. The first algorithm is based on a wait-free reachability query and the second one on partial snapshot-based obstruction-free reachability query. Interestingly, we are able to achieve the acyclic property in a dynamic setting witho...
Chapter
Full-text available
Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. Client programs use STMs by issuing transactions. STM ensures that transaction either commits or aborts. A transaction aborted due to c...
Preprint
Full-text available
In most of the modern day blockchain, transactions are executed serially by both miners and validators; also, PoW is determined serially. The serial execution limits the system throughput and increases transaction acceptance latency, even unable to exploit the modern multi-core resources efficiently. In this work, we try to increase the throughput...
Preprint
Full-text available
In the modern era of multi-core systems, the main aim is to utilize the cores properly. This utilization can be done by concurrent programming. But developing a flawless and well-organized concurrent program is difficult. Software Transactional Memory Systems (STMs) are a convenient programming interface which assist the programmer to access the sh...
Preprint
Software Transactional Memory Systems (STMs) provides ease of multithreading to the programmer withoutworrying about concurrency issues such as deadlock, livelock, priority inversion, etc. Most of the STMs workson read-write operations known as RWSTMs. Some STMs work at high-level operations and ensure greaterconcurrency than RWSTMs. Such STMs are...
Preprint
Popular blockchain such as Ethereum and several others execute complex transactions in blocks through user defined scripts known as smart contracts. Normally, a block of the chain consists of multiple transactions of smart contracts which are added by a miner. To append a correct block into blockchain, miners execute these smart contract transactio...
Conference Paper
Full-text available
It is commonly believed that blockchain is a revolutionary technology for doing business on the Internet. Blockchain is a decentralized, distributed database or ledger of records. It ensures that the records are tamper-proof but publicly readable. Blockchain platforms such as Ethereum [3] and several others execute complex transactions in blocks th...
Conference Paper
Graph algorithms applied in many applications, including social networks, communication networks, VLSI design, graphics, and several others, require dynamic modifications - addition and removal of vertices and/or edges - in the graph. This paper presents a novel concurrent non-blocking algorithm to implement a dynamic unbounded directed graph in a...
Chapter
Composing together the individual atomic methods of concurrent data-structures (cds) pose multiple design and consistency challenges. In this context composition provided by transactions in software transaction memory (STM) can be handy. However, most of the STMs offer read/write primitives to access shared cds. These read/write primitives result i...
Preprint
In this paper, we propose a concurrent non-blocking unbounded directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. All the methods of the algorithm are wait-free in nature. We extend the wait-free list implementation of concurrent set for achieving this. We have compared t...
Preprint
Full-text available
Distributed public blockchain platform such as ethereum entitle complex transactions in blocks through user defined scripts known as Smart Contract. To append a correct block into blockchain, miners execute these Smart Contract sequentially followed by validators serially re-execute it to verify. If validators validate the block as correct then blo...
Preprint
Full-text available
Graph algorithms applied in many applications, including social networks, communication networks, VLSI design, graphics, and several others, require dynamic modifications -- addition and removal of vertices and/or edges -- in the graph. This paper presents a novel concurrent non-blocking algorithm to implement a dynamic unbounded directed graph in...
Preprint
Full-text available
Garbage Collection in concurrent data structures, especially lock-free ones, pose multiple design and consistency challenges. In this instance, we consider the case of concurrent sets. A set is a collection of elements, where the elements are ordered and distinct. These two invariants are always maintained at every point in time. Currently, multipl...
Poster
Full-text available
STM - software transaction memory delegates the burden of handling concurrency control in parallel and concurrent programs from the programmers, So that instead of worrying about the locking , races, deadlocks programmer can only focus on harnessing optimum parallelism from the application. Read-write STM have partial ordering of read/write operati...
Article
Full-text available
In this paper, we propose an enhanced Automatic Checkpointing and Partial Rollback (CaPR++) algorithm to realize Software Transactional Memory (STM), that employs partial rollback mechanism for conflict resolution. We have comparatively evaluated the “Abort” and “Partial Rollback” mechanisms for STMs. For purposes of comparison, we have used the st...
Article
Full-text available
In the modern era of multicore processors, utilizing multiple cores properly is a tedious job. Synchronization and communication among processors involve high cost. Software transaction memory systems (STMs) addresses this issues and provide better concurrency in which programmer need not have to worry about consistency issues. Several big-data app...
Article
Full-text available
In this paper, we propose a generic concurrent directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. The graph is constructed by the composition of the well known concurrent list-based set data structure from the literature. Our construction is generic, in the sense that it...
Article
Full-text available
Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. In order for STMs to be efficient, they must guarantee some progress properties. This work explores the notion of starvation-freedom in...
Article
Full-text available
A major focus of software transaction memory systems (STMs) has been to felicitate the multiprocessor programming and provide parallel programmers an abstraction for speedy and efficient development of parallel applications. To this end, different models for incorporating object/higher level semantics into STM have recently been proposed in transac...
Article
Writing concurrent programs for shared memory multiprocessor systems is a nightmare. This hinders users to exploit the full potential of multiprocessors. STM (Software Transactional Memory) is a promising concurrent programming paradigm which addresses woes of programming for multiprocessor systems. In this paper, we implement BTO (Basic Timestam...
Article
Full-text available
In the recent years, several concurrent data-structures/objects have been proposed. These data-structures allow multiple threads/process to operate on them concurrently while maintaining consistency. By allowing multiple threads to operate on them simultaneously, these structures strive to increase parallelism. These structures typically involve th...
Conference Paper
Full-text available
In this paper, we present multi-threaded algorithms for graph coloring suitable to the shared memory programming model. Initially, we describe shared memory implementations to the algorithms widely known in the literature like Jones Plassman graph coloring. Later, we propose new approaches to solve the problem of coloring using mutex locks while ma...
Conference Paper
Full-text available
Major focus of STMs has been to felicitate the multipro-cessor programming and provide parallel programmers an abstraction for speedy and efficient development of parallel applications. To this end different models for incorporating object/higher level semantics into STMs have recently been proposed in transactional boosting, transactional data str...
Article
Full-text available
In this paper, we consider the problem of preserving acyclicity in a directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. To the best of our knowledge, no previous paper has presented a concurrent graph data structure. We implement the concurrent directed graph data-struct...
Article
Transactional memory promises to make concurrent programming tractable and efficient by allowing the user to assemble sequences of actions in atomic transactions with all-or-nothing semantics. It is believed that, by its very virtue, transactional memory must ensure that all committed transactions constitute a serial execution respecting the real-t...
Article
In this paper, we describe an enhanced Automatic Check- pointing and Partial Rollback algorithm(CaP R + ) to realize Software Transactional Memory(STM) that is based on con- tinuous conflict detection, lazy versioning with automatic checkpointing, and partial rollback. Further, we provide a proof of correctness of CaP R+ algorithm, in particular, O...
Article
In this paper, we present multi-threaded algorithms for graph coloring suitable to the shared memory programming model. We modify an existing algorithm widely used in the literature and prove the correctness of the modified algorithm. We also propose a new approach to solve the problem of coloring using locks. Using datasets from real world graphs,...
Article
In recent years, Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing concurrency issues in memory. STM systems take optimistic approach. Multiple transactions are allowed to execute concurrently. On completion, each transaction is validated and if any inconsistency is observed it...
Conference Paper
Peer to Peer (P2P) is one of the most popular technology which paved a way to new structures in many applications including content searching, file sharing etc. On the other hand, inclusion of a few malicious peers, the entire network could be disrupted without proper security measures. This paper presents a very simple but an effective security me...
Article
With rise of multicore systems, software transactional memory (STM) has garnered significant interest as an elegant alternative for developing concurrent code. A (memory) transaction is an unit of code in execution in memory. A software transactional memory system (STM) ensures that a transaction appears either to execute atomically (even in presen...
Conference Paper
Software Transactional Memory Systems (STM) are a promising alternative for concurrency control in shared memory systems. Multiversion STM systems maintain multiple versions for each t-object. The advantage of storing multiple versions is that it facilitates successful execution of higher number of read operations than otherwise. Multi-Version perm...
Article
This paper introduces the useful notion of Multi-Version Conflict notion.
Article
Full-text available
Software Transactional Memory Systems (STM) are a promising alternative to lock based systems for concurrency control in shared memory systems. In multiversion STM systems, each write on a transaction object produces a new version of that object. The advantage obtained by storing multiple versions is that one can ensure that read operations do not...
Conference Paper
Full-text available
Transactional memory promises to make concurrent programming tractable and efficient by allowing the user to assemble sequences of actions in atomic transactions with all-or-nothing semantics. It is believed that, by its very virtue, transactional memory must ensure that all committed transactions constitute a serial execution respecting the real-t...
Conference Paper
Full-text available
A generally agreed upon requirement for correctness of concurrent executions in Transactional Memory systems is that all transactions including the aborted ones read consistent values. We denote this as all-reads-consistency. Opacity is a correctness criterion that satisfies the above requirement. A relevant property, which we call as non-interfere...
Article
Pastry is one of the most popular DHT overlay used in various distributed applications, because of its scalability, efficiency and reliability. On the other hand, Pastry is not resistant against the more generous attacks include Sybil attack, Eclipse attack etc. In this paper, we propose SEPastry (security enhanced pastry) to heighten the security...
Conference Paper
A generally agreed upon requirement for correctness of concurrent executions in Transactional Memory systems is that all transactions including the aborted ones read consistent values. Opacity is a recently proposed correctness criterion that satisfies the above requirement. Our first contribution in this paper is extending the opacity definition f...
Conference Paper
Full-text available
Distributed Hash Tables (DHTs) and Random Peer Sampling (RPS) provide important and complementary services in the area of P2P overlay networks. DHTs achieve efficient lookup while RPS enables nodes to build and maintain connectivity in the presence of high churn. Clearly, many applications, e.g. in the area of search, would greatly benefit if both...
Article
Full-text available
An important problem in distributed systems is to detect termination of a distributed computation. A distributed computation is said to have terminated when all processes have become passive and all channels have become empty. We focus on two attributes of a termination detection algorithm. First, whether the distributed computation starts from a s...
Article
Full-text available
The group mutual exclusion problem extends the traditional mutual exclusion problem by associating a type (or a group) with each critical section. In this problem, processes requesting critical sections of the same type can execute their critical sections concurrently. However, processes requesting critical sections of different types must execute...
Article
Full-text available
An important problem in distributed systems is to detect termination of a distributed computation. A computation is said to have terminated when all processes have become passive and all channels have become empty. In this paper, we present a suite of algorithms for detecting termination of a non-diffusing computation for an arbitrary communication...
Conference Paper
Full-text available
Monitoring a distributed system to detect a stable property is an important problem with many applications. The problem is especially challenging for a dynamic distributed system because the set of processes in the system may change with time. In this paper, we present an efficient algorithm to determine whether a stable property has become true in...
Conference Paper
Full-text available
Detecting termination of a distributed computation is a fun- damental problem in distributed systems. We present two optimal algo- rithms for detecting termination of a non-diusing distributed computa- tion for an arbitrary topology. Both algorithms are optimal in terms of message complexity and detection latency. The rst termination detec- tion al...
Article
Full-text available
Monitoring a distributed system to detect a stable property is an important problem with many applications. The problem is especially challenging for a dynamic distributed system because the set of processes in the system may change with time. In this paper, we present an efficient algorithm to determine whether a stable property has become true in...

Network

Cited By