Dr. Roberto Palmieri
Research Assistant Professor
Bradley Department of Electrical and Computer Engineering
Virginia Tech

Distributed Synchronization: One Problem, Different Deployments, Different Solutions

Thursday, February 16, 4:00 PM
Packard Lab room 466

Abstract:   Distributed Synchronization is required when multiple entities (e.g., threads, computing nodes) access and modify a shared state with complex semantics requirements that demand strong integrity and correctness properties.

Today, three deployments are most common in enterprise-level systems and services: multicore-scale, cluster-scale, and geographic-scale. Although the fundamental problem of synchronization is the same, solutions vary because their performance is directly influenced by the characteristics exhibited by specific deployment. This talk overviews the peculiarities of multicore-scale, cluster-scale, and geographic-scale computing. It also shows the different challenges that need to be addressed in each deployment to achieve high performance without compromising mandatory safety and integrity requirements. The talk goes into the details for the two opposite sides of the spectrum: multicore-scale and geographic-scale computing.

Regarding multicore-scale computing, the talk shows a recent advanced synchronization abstraction, called Transactional Memory (TM). TM is powerful and possibly groundbreaking, but its performance is not up to the par with traditional synchronization techniques. The talk presents our recent solution that injects application semantics into TM in a transparent way to fill the performance gap and hence promote TM.

Our solution for geographic distributed interactions, suited for large-scale services that require data synchronization, is also presented. The solution exploits client locality to avoid expensive, around-the-globe interactions and enables fast decisions on the delivery of actions to be performance by circumventing existing lower bounds on the number of network communications needed. The proposed protocol ensures remarkable performance improvement over the state-of-the-art.

The talk concludes by showing a future direction where a layered concurrency control is envisioned. Each layer provides an optimized conflicting resolution depending on the locality of conflicting processes (e.g., same multicore or same datacenter).

Bio:   Roberto Palmieri is a Research Assistant Professor in the ECE Department at Virginia Tech. He received his PhD in Computer Engineering at Sapienza, University of Rome, Italy. His research interests include exploring concurrency control protocols for multicore architectures, cluster and geographically distributed systems, with high programmability, scalability, and dependability.

In the last three years, Roberto Palmieri devoted significant effort at promoting Transactional Memory as a way to automatically elide lock-based synchronization on high core-count multicore machines, or to develop concurrent multithreading applications without relying on conventional (error prone) user-level locks. This effort resulted in publications at top conferences and journals in distributed computing.

© 2014-2016 Computer Science and Engineering, P.C. Rossin College of Engineering & Applied Science, Lehigh University, Bethlehem PA 18015.