{"626141":{"#nid":"626141","#data":{"type":"event","title":"Phd Proposal by Pradeep Fernando","body":[{"value":"\u003Cp\u003E\u003Cstrong\u003ETitle:\u003C\/strong\u003E\u0026nbsp;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 Thursday, October 3rd, 2019\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ETime:\u003C\/strong\u003E 10:00 AM - Noon (EDT)\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003ELocation:\u003C\/strong\u003E KACB 3100\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)\u003Cbr \/\u003E\r\nDr. Umakishore Ramachandran (School of Computer Science, Georgia Tech)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Joy Arulraj (School of Computer Science, Georgia Tech)\u003Cbr \/\u003E\r\nDr. Tushar Krishna (School of Electrical Engineering, Georgia Tech)\u003C\/p\u003E\r\n\r\n\u003Cp\u003EDr. Amitabha Roy (Software Engineer, 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 non-volatile memories (NVMs) 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.\u003Cbr \/\u003E\r\n\u003Cbr \/\u003E\r\nFirst, this thesis proposes an NVM-aware I\/O runtime, NVStream, that supports fast durable streaming I\/O. NVStream uses a memory-friendly I\/O API that plugs into existing I\/O data movement points of an application to accelerate persistent data writes. \u0026nbsp;NVStream carefully designs its persistent data storage layout and crash-consistent semantics to match both application and NVM characteristics. Specifically we use a log-structured NVM storage engine with append only failure-atomic semantics to support streaming I\/O produced during HPC simulations. Furthermore, the thesis acknowledges the NVM bandwidth bottlenecks during parallel HPC I\/O writes and proposes a novel \u0026nbsp;data movement design -- PHX. PHX uses alternative network data movement paths available in data-centers to ease up the bandwidth pressure on the NVM memory interconnects, all while maintaining the correctness of the persistent data.\u003Cbr \/\u003E\r\n\u003Cbr \/\u003E\r\nNext, the thesis explores the challenges and opportunities of using NVM 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 introduces NVMTSX, that extends the popular hardware transactional memory (HTM) primitive with durability semantics, and offers a hardware accelerated crash-sync primitive that supports both low overhead synchronization and correct crash-consistency.\u003Cbr \/\u003E\r\n\u003Cbr \/\u003E\r\nFinally, 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 NVM for a fast, persistent memory replication runtime. Further, the design \u0026nbsp;also supports a replication aware crash-sync protocol that supports consistent and concurrent updates on persistent data-structures.\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","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"Adding Persistence to Main Memory Programming"}],"uid":"27707","created_gmt":"2019-09-13 15:34:02","changed_gmt":"2019-09-13 15:34:02","author":"Tatianna Richardson","boilerplate_text":"","field_publication":"","field_article_url":"","field_event_time":{"event_time_start":"2019-10-03T11:00:00-04:00","event_time_end":"2019-10-03T13:00:00-04:00","event_time_end_last":"2019-10-03T13:00:00-04:00","gmt_time_start":"2019-10-03 15:00:00","gmt_time_end":"2019-10-03 17:00:00","gmt_time_end_last":"2019-10-03 17:00:00","rrule":null,"timezone":"America\/New_York"},"extras":[],"groups":[{"id":"221981","name":"Graduate Studies"}],"categories":[],"keywords":[{"id":"102851","name":"Phd proposal"}],"core_research_areas":[],"news_room_topics":[],"event_categories":[{"id":"1788","name":"Other\/Miscellaneous"}],"invited_audience":[{"id":"78761","name":"Faculty\/Staff"},{"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":""}}}