{"id":12,"date":"2011-03-22T10:15:42","date_gmt":"2011-03-22T09:15:42","guid":{"rendered":"http:\/\/localhost\/wordpress\/?page_id=5"},"modified":"2025-04-28T16:04:57","modified_gmt":"2025-04-28T14:04:57","slug":"prophet-home","status":"publish","type":"page","link":"https:\/\/www.kth.se\/blogs\/prophet\/prophet-home\/","title":{"rendered":"Simplifying Development and Deployment of High-Performance, Reliable Distributed Systems"},"content":{"rendered":"<div class=\"post-content-wrapper\"><p><strong>Problem statement<\/strong><\/p>\n<p>Distributed systems form the foundation of our society&#8217;s infrastructure. Unfortunately, they suffer from a number of problems:<\/p>\n<p>1) they are time-consuming to develop because it is difficult for the programmer to envision all pos<strong><\/strong>sible deployment environments and design adaptation mechanisms that w<strong><\/strong>ill achieve high performance in all scenarios;<br \/>\n2) their code is complex due to the numerous outcomes that have to be accounted for at development time and the need to reimplement state and network models;<br \/>\n3) they are unreliable because of the difficulties of programming a system that runs over an asynchronous network and handles all possible failure scenarios.<\/p>\n<p>If left unchecked, these problems will keep plaguing existing systems and hinder development of a new generation of distributed services. A key set of new services arises in cloud computing.<\/p>\n<p><strong>Our approach<\/strong><\/p>\n<p>We propose a radically new approach to simplifying development and deployment of high-per<strong><\/strong>formance, reliable distributed systems. The key insight is in creating a new programming model and architecture that <strong><em>leverages the increases in per-node computational power, bandwidth and storage <\/em><\/strong>to achieve this goal. Instead of resolving difficult deployment <img loading=\"lazy\" decoding=\"async\" class=\"alignright\" title=\"Prophet architecture\" src=\"http:\/\/prophet.ssvl.kth.se\/wp-content\/uploads\/2011\/03\/prophet-architecture.png\" alt=\"\" width=\"435\" height=\"326\" \/> choices at coding time, the programmer merely specifies the choices and the objectives that should be satisfied. The PROPHET runtime then resolves the choices during live execution so as to maximize the ob<strong><\/strong>jectives. To accomplish this task, the runtime uses a combination of state-space exploration, simulation, behavior prediction, performance modeling, and program steering.<\/p>\n<p><strong>Funding<\/strong><\/p>\n<p><strong><\/strong>We <strong><\/strong>grac<strong><\/strong>ious<strong><\/strong>ly acknowledge the funding from the European Research Council under the European Union\u2019s Seventh Framework Programme (FP7\/2007-2013) \/ ERC grant agreement 259110.<\/p>\n<p>This grant provides 1.45 Million EUR over five years (2011-2016).<\/p>\n<p><a href=\"http:\/\/erc.europa.eu\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-71 alignleft\" title=\"erc-scientific-small-rvb\" src=\"http:\/\/prophet.ssvl.kth.se\/wp-content\/uploads\/2011\/04\/erc-scientific-small-rvb.jpg\" alt=\"\" width=\"266\" height=\"140\" \/><strong><\/strong><\/a><strong><a href=\"http:\/\/europa.eu\/index_en.htm\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-692\" title=\"EU flag\" src=\"http:\/\/prophet.ssvl.kth.se\/wp-content\/uploads\/2011\/03\/jaune-150x150.jpg\" alt=\"\" width=\"143\" height=\"143\" \/><\/a><\/strong><a href=\"http:\/\/ec.europa.eu\/research\/fp7\/index_en.cfm\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright  wp-image-688\" title=\"FP7-gen-RGB\" src=\"http:\/\/prophet.ssvl.kth.se\/wp-content\/uploads\/2011\/03\/FP7-gen-RGB-300x244.jpg\" alt=\"\" width=\"166\" height=\"135\" \/><\/a><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Problem statement Distributed systems form the foundation of our society&#8217;s infrastructure. Unfortunately, they suffer from a number of problems: 1) they are time-consuming to develop because it is difficult for the programmer to envision all possible deployment environments and design adaptation mechanisms that will achieve high performance in all scenarios; 2) their code is complex [&hellip;]<\/p>\n","protected":false},"author":621,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7bjNp-c","_links":{"self":[{"href":"https:\/\/www.kth.se\/blogs\/prophet\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kth.se\/blogs\/prophet\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kth.se\/blogs\/prophet\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/prophet\/wp-json\/wp\/v2\/users\/621"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kth.se\/blogs\/prophet\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":0,"href":"https:\/\/www.kth.se\/blogs\/prophet\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kth.se\/blogs\/prophet\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}