{"636011":{"#nid":"636011","#data":{"type":"event","title":"PhD Defense by Sanidhya Kashyap","body":[{"value":"\u003Cp\u003E\u003Cstrong\u003ETitle\u003C\/strong\u003E: Scaling Synchronization Primitives\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003ESanidhya Kashyap\u003C\/p\u003E\r\n\r\n\u003Cp\u003EPh.D. Candidate\u003C\/p\u003E\r\n\r\n\u003Cp\u003ESchool of Computer Science\u003C\/p\u003E\r\n\r\n\u003Cp\u003ECollege of Computing\u003C\/p\u003E\r\n\r\n\u003Cp\u003EGeorgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EDate\u003C\/strong\u003E: Thursday, June 11th\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ETime\u003C\/strong\u003E: 1:00 PM-3:00 PM (EST)\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ELocation\u003C\/strong\u003E: \u003Ca href=\u0022https:\/\/bluejeans.com\/209362103\u0022\u003Ehttps:\/\/bluejeans.com\/209362103\u003C\/a\u003E (remote)\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ECommittee\u003C\/strong\u003E:\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Taesoo Kim (Advisor), School of Computer Science, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Changwoo Min (Co-advisor), Virginia Tech\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Ada Gavrilovska, School of Computer Science, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Irina Calciu, VMware Research\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Joy Arulraj, School of Computer Science, Georgia Institute of Technology\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EAbstract\u003C\/strong\u003E:\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EOver the past decade, multicore machines have become the norm. A single machine is\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ecapable of having thousands of hardware threads or cores. Even cloud providers offer such\u003C\/p\u003E\r\n\r\n\u003Cp\u003Elarge multicore machines for data processing engines and databases. Thus, a fundamental\u003C\/p\u003E\r\n\r\n\u003Cp\u003Equestion arises is how efficient are existing synchronization primitives\u0026mdash;timestamping and\u003C\/p\u003E\r\n\r\n\u003Cp\u003Elocking\u0026mdash;that developers use for designing concurrent, scalable, and performant applications.\u003C\/p\u003E\r\n\r\n\u003Cp\u003EHence, this dissertation focuses on understanding the scalability aspect of these primitives,\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eand presents new algorithms and approaches, that either leverage the hardware or the\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eapplication domain knowledge, to scale up to hundreds of cores.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EFirst, the thesis presents Ordo, a scalable ordering or timestamping primitive, that forms\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ethe basis of designing scalable timestamp-based concurrency control mechanisms. Ordo\u003C\/p\u003E\r\n\r\n\u003Cp\u003Erelies on invariant hardware clocks and provides a notion of a globally synchronized clock\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ewithin a machine. We use the Ordo primitive to redesign a synchronization mechanism and\u003C\/p\u003E\r\n\r\n\u003Cp\u003Econcurrency control mechanisms in databases and software transactional memory.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003ELater, this thesis focuses on the scalability aspect of locks in both virtualized and\u003C\/p\u003E\r\n\r\n\u003Cp\u003Enon-virtualized scenarios. We identify that synchronization primitives suffer from various\u003C\/p\u003E\r\n\r\n\u003Cp\u003Epreemption problems that happen because of the double scheduling problem. We then\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eleverage the hypervisor\u0026rsquo;s scheduler to address this problem by bridging the semantic gap in\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ethe form of scheduling information between the hypervisor and VMs.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EFinally, we focus on the design of lock algorithms in general. We find that locks in\u003C\/p\u003E\r\n\r\n\u003Cp\u003Epractice have discrepancies from locks in design. For example, popular spinlocks suffer\u003C\/p\u003E\r\n\r\n\u003Cp\u003Efrom excessive cache-line bouncing in multicore (NUMA) systems, while scalable,\u003C\/p\u003E\r\n\r\n\u003Cp\u003ENUMA-aware locks exhibit sub-par single-thread performance. We classify several\u003C\/p\u003E\r\n\r\n\u003Cp\u003Edominating factors that impact the performance of lock algorithms. We then propose\u003C\/p\u003E\r\n\r\n\u003Cp\u003Ea new technique, shuffling, that can dynamically accommodate all these factors, without\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eslowing down the critical path of the lock. The key idea of shuffling is to re-order the queue\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eof threads waiting to acquire the lock with some pre-established policy. Using shuffling, we\u003C\/p\u003E\r\n\r\n\u003Cp\u003Epropose a family of locking algorithms, called ShflLocks that respect all factors, efficiently\u003C\/p\u003E\r\n\r\n\u003Cp\u003Eutilize waiters, and achieve the best performance.\u003C\/p\u003E\r\n","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"Scaling Synchronization Primitives"}],"uid":"27707","created_gmt":"2020-06-08 14:09:10","changed_gmt":"2020-06-08 14:09:10","author":"Tatianna Richardson","boilerplate_text":"","field_publication":"","field_article_url":"","field_event_time":{"event_time_start":"2020-06-11T14:00:00-04:00","event_time_end":"2020-06-11T16:00:00-04:00","event_time_end_last":"2020-06-11T16:00:00-04:00","gmt_time_start":"2020-06-11 18:00:00","gmt_time_end":"2020-06-11 20:00:00","gmt_time_end_last":"2020-06-11 20:00:00","rrule":null,"timezone":"America\/New_York"},"extras":[],"groups":[{"id":"221981","name":"Graduate Studies"}],"categories":[],"keywords":[{"id":"100811","name":"Phd Defense"}],"core_research_areas":[],"news_room_topics":[],"event_categories":[{"id":"1788","name":"Other\/Miscellaneous"}],"invited_audience":[{"id":"78771","name":"Public"},{"id":"174045","name":"Graduate students"}],"affiliations":[],"classification":[],"areas_of_expertise":[],"news_and_recent_appearances":[],"phone":[],"contact":[],"email":[],"slides":[],"orientation":[],"userdata":""}}}