{"id":104459,"date":"2022-06-21T15:36:41","date_gmt":"2022-06-21T13:36:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/facebook-predstavil-mehanizm-tmo-pozvolyayushhij-ekonomit-20-32-pamyati-na-serverah"},"modified":"2022-06-21T15:36:41","modified_gmt":"2022-06-21T13:36:42","slug":"facebook-predstavil-mehanizm-tmo-pozvolyayushhij-ekonomit-20-32-pamyati-na-serverah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predstavil-mehanizm-tmo-pozvolyayushhij-ekonomit-20-32-pamyati-na-serverah","title":{"rendered":"Facebook has introduced the TMO mechanism, which allows for a memory savings of 20-32% on servers.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Engineers from Facebook (banned in the Russian Federation) published a report on the implementation last year of TMO (Transparent Memory Offloading) technology, which significantly conserves RAM on servers by offloading unnecessary secondary data to cheaper storage options like NVMe SSDs. According to Facebook's estimates, TMO can save between 20 to 32% of RAM on each server. This solution is aimed at infrastructures where applications run in isolated containers. TMO components that operate at the kernel level are already included in the Linux kernel.         <\/p>\n<p>The functionality of TMO at the Linux kernel level is supported by the PSI (Pressure Stall Information) subsystem, which has been available since version 4.20. PSI is already used in various memory shortage handlers and helps analyze information about the waiting time for various resources (CPU, memory, I\/O). With PSI, user-space handlers can more accurately assess the system's load and the nature of slowdowns, allowing them to identify anomalies at an early stage when they do not yet significantly impact performance.        <\/p>\n<p>In user space, TMO is handled by the Senpai component, which dynamically adjusts the memory limit for application containers based on data obtained from PSI through cgroup2. Senpai analyzes signs of resource shortages via PSI, evaluates the sensitivity of applications to memory access delays, and attempts to determine the minimally required memory size for the container that keeps the necessary working data in RAM while offloading accompanying data, which is resident in the file cache or not being directly used at that moment, to swap space.  <center><img decoding=\"async\" alt=\"Facebook has introduced the TMO mechanism, which allows for a memory savings of 20-32% on servers.\" src=\"\/wp-content\/uploads\/2022\/06\/205569ffe9a71fdbc71dfb1b400c7f9c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Thus, the essence of TMO is to keep processes on a strict diet in terms of memory consumption, forcibly transferring unused memory pages to the swap area, whose eviction does not noticeably affect performance (for example, pages with code used only during initialization and data used sporadically in disk cache). Unlike moving information to the swap in response to memory shortage, TMO evicts data based on proactive forecasting.       <\/p>\n<p>One of the criteria for eviction is the absence of access to a memory page for 5 minutes. Such pages are referred to as cold memory pages and on average account for about 35% of application memory (depending on the type of applications, the range varies from 19% to 65%). When evicting, the activity related to anonymous memory pages (memory allocated by applications) and memory used for file caching (allocated by the kernel) is taken into account. In some applications, primary consumption is associated with anonymous memory, while in others, the file cache is also significant. To avoid imbalance when evicting memory to cache, TMO uses a new paging algorithm that proportionally evicts anonymous pages and pages associated with the file cache.      <\/p>\n<p>Evicting rarely used pages to slower memory does not significantly impact performance but allows for substantial reductions in hardware costs. Data is evicted to SSD drives or into a compressed swap area in RAM. In terms of storage costs per byte of data, using NVMe SSDs is up to 10 times cheaper than using compression in RAM.    <center><img decoding=\"async\" alt=\"Facebook has introduced the TMO mechanism, which allows for a memory savings of 20-32% on servers.\" src=\"\/wp-content\/uploads\/2022\/06\/032bf5a22cc0c8d398a0c202d601db26.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57383\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook (\u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u0430 \u0432 \u0420\u0424) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043e\u0442\u0447\u0451\u0442 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 TMO (Transparent Memory Offloading), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0437\u0430 \u0441\u0447\u0451\u0442 \u0432\u044b\u0442\u0435\u0441\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0448\u0451\u0432\u044b\u0435 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a NVMe SSD-\u0434\u0438\u0441\u043a\u0438. \u041f\u043e \u043e\u0446\u0435\u043d\u043a\u0435 Facebook, \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 TMO \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043e\u0442 20 \u0434\u043e 32% [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":104460,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-104459","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.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook (\u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u0430 \u0432 \u0420\u0424) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043e\u0442\u0447\u0451\u0442 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 TMO (Transparent Memory Offloading), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0437\u0430 \u0441\u0447\u0451\u0442.\" \/>\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\/en\/blog\/news\/facebook-predstavil-mehanizm-tmo-pozvolyayushhij-ekonomit-20-32-pamyati-na-serverah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\udd47Facebook \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c TMO, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c 20-32% \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook (\u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u0430 \u0432 \u0420\u0424) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043e\u0442\u0447\u0451\u0442 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 TMO (Transparent Memory Offloading), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0437\u0430 \u0441\u0447\u0451\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predstavil-mehanizm-tmo-pozvolyayushhij-ekonomit-20-32-pamyati-na-serverah\" \/>\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=\"2022-06-21T13:36:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-06-21T13:36:42+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\udd47Facebook introduced the TMO mechanism, allowing for 20-32% memory savings on servers | ProHoster","description":"Engineers from Facebook (banned in the RF) published a report on the implementation last year of TMO (Transparent Memory Offloading) technology, which allows for significant savings in RAM on servers.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predstavil-mehanizm-tmo-pozvolyayushhij-ekonomit-20-32-pamyati-na-serverah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\udd47Facebook \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c TMO, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c 20-32% \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 | ProHoster","og:description":"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook (\u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u0430 \u0432 \u0420\u0424) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043e\u0442\u0447\u0451\u0442 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 TMO (Transparent Memory Offloading), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0437\u0430 \u0441\u0447\u0451\u0442.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predstavil-mehanizm-tmo-pozvolyayushhij-ekonomit-20-32-pamyati-na-serverah","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":"2022-06-21T13:36:42+00:00","article:modified_time":"2022-06-21T13:36:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104459","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":"default","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":"2022-06-21 13:37:49","updated":"2022-10-01 20:35:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/104459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=104459"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/104459\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/104460"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=104459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=104459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=104459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}