{"id":80342,"date":"2020-05-05T07:42:07","date_gmt":"2020-05-05T05:42:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dlya-yadra-linux-razvivaetsya-sistema-raspredelyonnogo-vypolneniya-potokov-popcorn"},"modified":"2020-05-05T07:42:07","modified_gmt":"2020-05-05T05:42:07","slug":"dlya-yadra-linux-razvivaetsya-sistema-raspredelyonnogo-vypolneniya-potokov-popcorn","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sl\/blog\/news\/dlya-yadra-linux-razvivaetsya-sistema-raspredelyonnogo-vypolneniya-potokov-popcorn","title":{"rendered":"Za jedro Linux se razvija sistem porazdeljenega izvajanja niti Popcorn.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Virginia Polytechnic Institute <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/4\/29\/1111\">je predlagal<\/a><\/noindex> for discussion among Linux kernel developers of a set of patches implementing a distributed thread execution system <noindex><a rel=\"nofollow\" href=\"http:\/\/popcornlinux.org\">Popcorn<\/a><\/noindex> (Distributed Thread Execution), which allows applications to run on multiple computers with distribution and transparent migration of threads between hosts. With Popcorn, applications can be launched on one host and then seamlessly moved to another host without stopping their execution. In multithreaded programs, individual threads are allowed to migrate to other hosts. <\/p>\n<p>Unlike the project <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=44015\">CRIU<\/a><\/noindex>, which allows saving the state of a process and resuming execution on another system, Popcorn provides seamless and dynamic migration between hosts during application execution, requiring no action from the user and ensuring consistency of virtual memory on all hosts where threads are executed simultaneously. <\/p>\n<p>The Popcorn software stack consists of <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ssrg-vt\/popcorn-kernel\">popravki<\/a><\/noindex> the Linux kernel and <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ssrg-vt\/popcorn-kernel-lib\">biblioteka<\/a><\/noindex> with tests demonstrating how system calls in Popcorn can be used for migrating threads in distributed-executing applications. At the kernel level, extensions to the virtual memory subsystem are proposed, implementing distributed shared memory, allowing processes on different hosts to access a shared and consistent virtual address space. Consistency of virtual memory pages is ensured through a protocol that replicates memory pages on the host upon read access and invalidates memory pages upon write operations. <\/p>\n<p>Interaction between hosts is facilitated by a message handler operating at the kernel level, transmitting messages over a TCP socket. It is noted that TCP\/IP is used to simplify debugging and testing during development. Developers understand that from a security and performance standpoint, TCP\/IP is not the best way to transfer the contents of kernel structures and memory pages between hosts. All hosts running distributed applications must have an identical level of trust. Once the core algorithms are stabilized, a more efficient transport method will be implemented.<\/p>\n<p>Popcorn se razvija od 2014. godine kao istra\u017eiva\u010dki projekt za prou\u010davanje mogu\u0107nosti kreiranja distribuiranih aplikacija, \u010diji se tokovi mogu izvr\u0161avati na razli\u010ditim \u010dvorovima u <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D0%B5%D1%82%D0%B5%D1%80%D0%BE%D0%B3%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F\">heterogenim<\/a><\/noindex> ra\u010dunarskim sistemima, u kojima se mogu kombinovati jezgre zasnovane na razli\u010ditim arhitekturama skupa instrukcija (Xeon\/Xeon-Phi, ARM\/x86, CPU\/GPU\/FPGA). Predlo\u017eeni set zakrpa za programere jezgra Linux podr\u017eava samo izvr\u0161avanje na hostovima sa CPU x86, ali postoji i funkcionalnija verzija Popcorn Linux, koja omogu\u0107ava izvr\u0161avanje aplikacija na hostovima sa razli\u010ditim arhitekturama CPU (x86 i ARM). Za kori\u0161\u0107enje Popcorn-a u heterogenim okru\u017eenjima potrebno je koristiti posebni <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ssrg-vt\/popcorn-compiler\">kompajler<\/a><\/noindex> na bazi LLVM. Pri distribuiranom izvr\u0161avanju na hostovima sa jednom arhitekturom, ponovna kompilacija posebnim kompajlerom nije potrebna.<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"http:\/\/popcornlinux.org\/images\/images\/popcorn-software-stack.png\"><img decoding=\"async\" alt=\"Za jedro Linux se razvija sistem porazdeljenega izvajanja niti Popcorn.\" src=\"\/wp-content\/uploads\/2020\/05\/8b14f310d4769cb5e52cbda8f56ef1c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>Poleg tega je mogo\u010de omeniti <noindex><a rel=\"nofollow\" href=\"https:\/\/thume.ca\/2020\/04\/18\/telefork-forking-a-process-onto-a-different-computer\/\">najava<\/a><\/noindex> sli\u010dnog projekta  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/trishume\/telefork\">Telefork<\/a><\/noindex> sa implementacijom po\u010detnog prototipa API za pokretanje podprocesa na drugim ra\u010dunarima u klasteru (kao fork(), ali preme\u0161ta razgranati proces na drugi ra\u010dunar).<br \/>\n Kod je napisan na jeziku Rust i za sada omogu\u0107ava kloniranje samo najjednostavnijih procesa, u kojima se ne koriste sistemski resursi, kao \u0161to su datoteke. Pri pozivu telefork, memorija i povezane strukture procesa kloniraju se na drugi host, na kojem je pokrenut serverski obradnik (telepad). Pomo\u0107u ptrace, odraz memorije procesa se serijalizuje i zajedno sa stanjem procesa i registrima prenosi na drugi host. API tako\u0111e omogu\u0107ava \u010duvanje stanja procesa u datoteku i obnavljanje preko nje.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Izvor: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52877\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u043b\u0438\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \u0412\u0438\u0440\u0433\u0438\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432 Popcorn (Distributed Thread Execution), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 \u0441 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0439 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0435\u0439 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u0445\u043e\u0441\u0442\u0430\u043c\u0438. \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Popcorn \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0445\u043e\u0441\u0442\u0435, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0431\u0435\u0437 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0445\u043e\u0441\u0442. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80343,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-80342","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u043b\u0438\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \u0412\u0438\u0440\u0433\u0438\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sl\/blog\/news\/dlya-yadra-linux-razvivaetsya-sistema-raspredelyonnogo-vypolneniya-potokov-popcorn\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432 Popcorn | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u043b\u0438\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \u0412\u0438\u0440\u0433\u0438\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/blog\/news\/dlya-yadra-linux-razvivaetsya-sistema-raspredelyonnogo-vypolneniya-potokov-popcorn\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-05T05:42:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-05T05:42:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Za jezgro Linux se razvija sistem distribuiranog izvr\u0161avanja tokova Popcorn | ProHoster","description":"Politehni\u010dki univerzitet Vird\u017einije je predlo\u017eio za raspravu programerima jezgra Linux set zakrpa sa implementacijom sistema.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/news\/dlya-yadra-linux-razvivaetsya-sistema-raspredelyonnogo-vypolneniya-potokov-popcorn","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432 Popcorn | ProHoster","og:description":"\u041f\u043e\u043b\u0438\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442 \u0412\u0438\u0440\u0433\u0438\u043d\u0438\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.","og:url":"https:\/\/prohoster.info\/sl\/blog\/news\/dlya-yadra-linux-razvivaetsya-sistema-raspredelyonnogo-vypolneniya-potokov-popcorn","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-05T05:42:07+00:00","article:modified_time":"2020-05-05T05:42:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80342","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:20:39","updated":"2022-09-30 18:25:39","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/80342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=80342"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/80342\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/80343"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=80342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=80342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=80342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}