{"id":163,"date":"2023-02-23T13:11:39","date_gmt":"2023-02-23T13:11:39","guid":{"rendered":"https:\/\/www.podc.org\/podc2023\/?page_id=163"},"modified":"2023-06-15T11:56:27","modified_gmt":"2023-06-15T11:56:27","slug":"workshops-tutorials","status":"publish","type":"page","link":"https:\/\/www.podc.org\/podc2023\/workshops-tutorials\/","title":{"rendered":"Workshops &amp; Tutorials"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Saturday, June 17th<\/h2>\n\n\n\n<p><strong>Tutorial:<\/strong> <strong>High-Level Executable Specification and Reasoning for Improving Distributed Algorithms&nbsp;(in conjunction with PLDI)<br>Organizers: <\/strong>Yanhong Annie Liu and Scott Stoller<strong><br>Website:<\/strong> <a href=\"https:\/\/pldi23.sigplan.org\/details\/pldi-2023-tutorials\/6\/High-Level-Executable-Specification-and-Reasoning-for-Improving-Distributed-Algorithm\">https:\/\/pldi23.sigplan.org\/details\/pldi-2023-tutorials\/6\/High-Level-Executable-Specification-and-Reasoning-for-Improving-Distributed-Algorithm<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Monday, June 19th<\/h2>\n\n\n\n<p><strong>Workshop:<\/strong> <strong>Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems (ApPLIED)<\/strong> <br><strong>Organizers: <\/strong>Yanhong Annie Liu and Elad Michael Schiller<br><strong>Website:<\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/www.cse.chalmers.se\/~elad\/ApPLIED2023\/\" target=\"_blank\"> https:\/\/www.cse.chalmers.se\/~elad\/ApPLIED2023\/<\/a><\/p>\n\n\n\n<p><strong>Tutorial: Fault-Tolerant Distributed Optimization and Learning<\/strong><br><strong>Organizers: <\/strong>Lili Su and Nitin H. Vaidya <br><strong>Abstract: <\/strong> Consider a set of agents wherein each agent has its own &#8220;local&#8221; cost function that depends on some parameters of interest. The goal for the agents is to determine a parameter vector that minimizes the aggregate or &#8220;global&#8221; cost over all the agents. For example, in the context of machine learning, the local cost function of an agent may represent the \u201closs function\u201d corresponding to the agent\u2019s local dataset. Similar optimization problems arise in the context of many other applications as well. <br> This tutorial will address distributed optimization algorithms for such cost functions, with an emphasis on fault-tolerant algorithms for distributed optimization. Intuitively, the goal of fault-tolerant optimization considered here is to try to solve the problem &#8220;correctly&#8221; despite the presence of some Byzantine faulty (or adversarial) agents. Such faulty agents may supply incorrect information during the optimization procedure. The first step towards achieving this goal is to define what a &#8220;correct&#8221; outcome should be in presence of Byzantine faulty agents. The tutorial will define an ideal outcome, and discuss algorithms that may compute the ideal outcome exactly or approximately, depending on assumptions that can be made about the local cost functions of the agents. <br> The tutorial presentation will not assume any background in optimization or Byzantine fault-tolerance. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Friday, June 23rd<\/h2>\n\n\n\n<p><strong>Workshop: Biological Distributed Algorithms (BDA<strong>)<\/strong> <br><strong>Organizers: <\/strong><\/strong>Arjun Chandrasekhar,&nbsp; Frederik Mallmann-Trenn, Yannic Maus, and Ted Pavlic<br><strong>Website:<\/strong> <a href=\"https:\/\/sites.google.com\/view\/bda23\/home\">https:\/\/sites.google.com\/view\/bda23\/home<\/a><\/p>\n\n\n\n<p><strong>Tutorial: Cryptography in distributed protocols<br \/><strong>Organizers: <\/strong><\/strong>Rotem Oshman and Vinod Vaikuntanathan<strong><br \/>Abstract:<\/strong> The tutorial will cover several basic cryptographic primitives and ideas, and focus on the ways in which computational assumptions allow us to circumvent fundamental impossibility results in distributed computing. Topics covered will include:<\/p>\n<ul>\n<li>Byzantine agreement and leader election (using signatures and verifiable random functions),<\/li>\n<li>Secure multiparty computation (using secret-sharing and oblivious transfer),<\/li>\n<li>Distributed certification of graph properties (using collision-resistant hash functions and succinct non-interactive arguments for P).<\/li>\n<\/ul>\n<p>No prior background is assumed.<\/p>\n\n\n\n<p><strong>Tutorial: Distributed computing with live streaming data<br><strong>Organizers: <\/strong><\/strong>Adrian Kosowski, Krzysztof Nowicki, and Przemyslaw Uznanski (Pathway.com)<br><strong>Abstract:<\/strong> \n&#8220;The only constant thing in life is change&#8221;. A lot of modern data processing applications work with data streams and changing data inputs, and their objective is to provide up-to-date outcomes with low latency at high data throughput. \n<br>\nIn this tutorial, we look how to design dynamic algorithms in a systematic way, and to implement them in an actual distributed streaming system. A major challenge here is the design of dynamic algorithms ready for different input data scenarios: data streams with insertion, deletion, arrival of data out-of-order, backfilling, etc.\n<br>\nWe center the discussion around designing iterative graph algorithms for time-changing data. For this task, we provide examples of code in industry-standard frameworks (Apache Flink, Spark Structured Streaming, Kafka Streams), as well as in Pathway. Pathway is a new performant data processing framework, for bounded and unbounded data streams, equipped with a Table API in Python, and powered by a distributed incremental dataflow in Rust. It is particularly well suited for implementing &#8220;local-type&#8221; algorithms.\n<br>\nIn the course of a hands-on code tutorial, you will learn how to make a fully functional streaming application. We will write an unsupervised graph learning algorithm, and do a quick integration of data sources, and presentation of outputs. When the application is deployed in streaming mode, it will take care of updating classification outcomes automatically as new data arrives.\n<br>\nWe will close with some remarks on consistency and correctness promises that can be asked of distributed streaming systems when executing dynamic algorithms. \n<\/p>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Saturday, June 17th Tutorial: High-Level Executable Specification and Reasoning for Improving Distributed Algorithms&nbsp;(in conjunction with PLDI)Organizers: Yanhong Annie Liu and Scott StollerWebsite: https:\/\/pldi23.sigplan.org\/details\/pldi-2023-tutorials\/6\/High-Level-Executable-Specification-and-Reasoning-for-Improving-Distributed-Algorithm Monday, June 19th Workshop: Advanced Tools, Programming Languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems (ApPLIED) Organizers: Yanhong Annie Liu and Elad Michael SchillerWebsite: https:\/\/www.cse.chalmers.se\/~elad\/ApPLIED2023\/ Tutorial: Fault-Tolerant Distributed Optimization &hellip; <a href=\"https:\/\/www.podc.org\/podc2023\/workshops-tutorials\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Workshops &amp; Tutorials&#8221;<\/span><\/a><\/p>\n","protected":false},"author":19,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-163","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/pages\/163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/comments?post=163"}],"version-history":[{"count":16,"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/pages\/163\/revisions"}],"predecessor-version":[{"id":259,"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/pages\/163\/revisions\/259"}],"wp:attachment":[{"href":"https:\/\/www.podc.org\/podc2023\/wp-json\/wp\/v2\/media?parent=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}