{"636356":{"#nid":"636356","#data":{"type":"event","title":"PhD Defense by Pradeep Fernando","body":[{"value":"\u003Cp\u003E\u003Cstrong\u003ETitle:\u003C\/strong\u003E Adding Persistence to Main Memory Programming\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EPradeep Fernando\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\u003Ca href=\u0022https:\/\/www.cc.gatech.edu\/grads\/p\/pfernand\u0022\u003Ehttps:\/\/www.cc.gatech.edu\/grads\/p\/pfernand\u003C\/a\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EDate:\u003C\/strong\u003E Monday,\u0026nbsp; June 29th, 2020\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ETime:\u003C\/strong\u003E 11:00 AM - 1:00 PM (EST)\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ELocation:\u003C\/strong\u003E \u003Ca href=\u0022https:\/\/bluejeans.com\/7183073013\u0022\u003Ehttps:\/\/bluejeans.com\/7183073013\u003C\/a\u003E (remote)\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\u003EDr. Ada Gavrilovska (Advisor, School of Computer Science, Georgia Tech)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Joy Arulraj (School of Computer Science, Georgia Tech)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Tushar Krishna (School of Electrical Engineering, Georgia Tech)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Umakishore Ramachandran (School of Computer Science, Georgia Tech)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Amitabha Roy (Google)\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\u003EUnlocking the true potential of the new persistent memories (PMEMs) requires eliminating traditional persistent I\/O abstractions altogether, by introducing persistent semantics directly into main memory programming. Such a programming model elevates failure atomicity to a first-class application property in addition to in-memory data layout, concurrency-control, and fault tolerance, and therefore requires redesign of programming abstractions for both program correctness and maximum performance gains. To address these challenges, this thesis proposes a set of system software designs that integrate persistence with main memory programming, and makes the following contributions.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EFirst, this thesis proposes a PMEM-aware I\/O runtime, NVStream, that supports fast durable streaming I\/O. NVStream uses a memory-based I\/O interface that integrates with existing I\/O data movement operations of an application to accelerate persistent data writes. NVStream carefully designs its persistent data storage layout and crash-consistent semantics to match both application and PMEM characteristics. Specifically, we leverage the streaming nature of I\/O in HPC workflows, to benefit from using a log-structured PMEM storage engine design, that uses relaxed write orderings and append-only failure-atomic semantics to form strongly consistent application checkpoints. Furthermore, we identify that optimizing the I\/O software stack exposes the PMEM bandwidth limitations as a bottleneck during parallel HPC I\/O writes, and propose a novel\u0026nbsp; data movement design -- PHX. PHX uses alternative network data movement paths available in datacenters to ease up the bandwidth pressure on the PMEM memory interconnects, all while maintaining the correctness of the persistent data.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003ENext, the thesis explores the challenges and opportunities of using PMEM for true main memory persistent programming -- a single data domain for both runtime and persistent application state. Such a programming model includes maintaining ACID properties during each and every update to application\u0026rsquo;s persistent structures. ACID-qualified persistent programming for multi-threaded applications is hard, as the programmer has to reason about\u0026nbsp; both crash-consistency and synchronization -- crash-sync -- semantics for programming correctness. The thesis contributes new understanding of\u0026nbsp; the correctness requirements for mixing different crash-consistent and synchronization protocols,\u0026nbsp; characterizes the performance of different crash-sync realizations for different\u0026nbsp; applications\u0026nbsp; and hardware architectures, and draws actionable insights for future designs of PMEM systems.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EFinally, the application state stored on node-local persistent memory is still vulnerable to catastrophic node failures. The thesis proposes a replicated persistent memory runtime,\u0026nbsp; Blizzard, that supports truly fault tolerant, concurrent and persistent data-structure programming. Blizzard carefully integrates userspace networking with byte addressable PMEM for a fast, persistent memory replication runtime. The design\u0026nbsp; also incorporates a replication-aware crash-sync protocol that supports consistent and concurrent updates on persistent data-structures. Blizzard offers applications the flexibility to use the data structures that best match their functional requirements, while offering better performance, and providing crucial reliability guarantees lacking from existing persistent memory runtimes.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\r\n","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"Adding Persistence to Main Memory Programming"}],"uid":"27707","created_gmt":"2020-06-19 17:09:05","changed_gmt":"2020-06-19 17:09:05","author":"Tatianna Richardson","boilerplate_text":"","field_publication":"","field_article_url":"","field_event_time":{"event_time_start":"2020-06-29T12:00:00-04:00","event_time_end":"2020-06-29T14:00:00-04:00","event_time_end_last":"2020-06-29T14:00:00-04:00","gmt_time_start":"2020-06-29 16:00:00","gmt_time_end":"2020-06-29 18:00:00","gmt_time_end_last":"2020-06-29 18: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":"78761","name":"Faculty\/Staff"},{"id":"177814","name":"Postdoc"},{"id":"78771","name":"Public"},{"id":"174045","name":"Graduate students"},{"id":"78751","name":"Undergraduate students"}],"affiliations":[],"classification":[],"areas_of_expertise":[],"news_and_recent_appearances":[],"phone":[],"contact":[],"email":[],"slides":[],"orientation":[],"userdata":""}}}