{"id":33434,"date":"2019-10-31T21:52:33","date_gmt":"2019-10-31T18:52:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-rabotaet-szhatie-v-obektno-orientirovannoj-arhitekture-pamyati\/"},"modified":"2019-10-31T21:52:33","modified_gmt":"2019-10-31T18:52:33","slug":"kak-rabotaet-szhatie-v-obektno-orientirovannoj-arhitekture-pamyati","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-rabotaet-szhatie-v-obektno-orientirovannoj-arhitekture-pamyati","title":{"rendered":"How compression works in object-oriented memory architecture","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A team of engineers from MIT has developed an object-oriented memory hierarchy for more efficient data handling. This article explores its structure.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1cloud\/blog\/451356\/\"><img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/a868d6b2ce7268a09551659ee134b36f.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<i>\/ <noindex>PxHere<\/noindex> \/ PD<\/i><\/p>\n<p>As is known, the performance growth of modern CPUs does not come with a corresponding decrease in memory access latency. The change in metrics from year to year can differ by up to 10 times (<noindex><a rel=\"nofollow\" href=\"http:\/\/aircconline.com\/ijcsit\/V9N2\/9217ijcsit14.pdf\">PDF, p.3<\/a><\/noindex>). As a result, a bottleneck arises that prevents full utilization of available resources and slows down data processing.<\/p>\n<p>Performance is hindered by what is known as decompression latency. In some cases, the preparation for data decompression can take up to 64 CPU cycles. <\/p>\n<p>For comparison, adding and multiplying floating-point numbers <noindex><a rel=\"nofollow\" href=\"http:\/\/ithare.com\/wp-content\/uploads\/part101_infographics_v08.png\">take<\/a><\/noindex> no more than ten cycles. The issue is that memory works with fixed-size data blocks, while applications operate on objects that can contain various types of data and differ in size. To address this problem, MIT engineers developed an object-oriented memory hierarchy that optimizes data processing.<\/p>\n<h2>How the technology works<\/h2>\n<p>\nThe solution is based on three technologies: Hotpads, Zippads, and the COCO compression algorithm.<\/p>\n<p>Hotpads are a software-controlled hierarchy of scratchpad memory (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Scratchpad_memory\">scratchpad<\/a><\/noindex>). These registers are called pads and there are three of them \u2014 from L1 to L3. They store objects of varying sizes, metadata, and arrays of pointers.<\/p>\n<p>In essence, the architecture is a cache system tailored for object handling. The level of the pad that an object resides in depends on how frequently it is accessed. If one of the levels becomes \"overloaded,\" the system triggers a mechanism similar to garbage collectors in Java or Go languages. It analyzes which objects are used less frequently than others and automatically moves them between levels.<\/p>\n<blockquote><p>Zippads operate based on Hotpads \u2014 archiving and unarchiving data that enters or exits the last two levels of the hierarchy \u2014 pad L3 and main memory. In the first and second pads, data is stored unchanged.<\/p><\/blockquote>\n<p>\n <img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/3a4ee154cc1db4c9c5a30c668a6f9eff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZippads compresses objects that do not exceed 128 bytes in size. Larger objects are divided into parts, which are then placed in different memory locations. As developers state, this approach increases the efficiency of memory usage.<\/p>\n<p>The COCO (Cross-Object COmpression) algorithm is used for object compression, which we will discuss later, although the system is also capable of working with <noindex><a rel=\"nofollow\" href=\"https:\/\/users.ece.cmu.edu\/~omutlu\/pub\/bdi-compression_pact12.pdf\">Base-Delta-Immediate<\/a><\/noindex> or <noindex><a rel=\"nofollow\" href=\"https:\/\/ieeexplore.ieee.org\/document\/4589203\">FPC<\/a><\/noindex>. The COCO algorithm is a form of differential compression (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Data_differencing\">differential compression<\/a><\/noindex>). It compares objects to \"base\" objects and removes duplicate bits \u2014 see the diagram below:<\/p>\n<p><img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/46907c8eac74b6af0a1b3985da9a899b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>According to engineers from MIT, their object-oriented memory hierarchy is 17% more efficient than traditional approaches. It is much closer in structure to the architecture of modern applications, which gives the new method potential.<\/p>\n<p>The technology is expected to be adopted first by companies working with big data and machine learning algorithms. Another potential area is cloud platforms. IaaS providers will be able to work more effectively with virtualization, data storage systems, and computing resources.<\/p>\n<blockquote><p><b>Our additional resources and sources:<\/b><\/p>\n<p><img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/faae4338d86f47fd991344b068aa98c5.png\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1cloud\/blog\/450602\/\">\u2018How We Build IaaS\u2019: Materials on the Work of 1cloud<\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/fad529f9a72742ad3c7b708c1d5a855f.png\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/1cloud.ru\/blog\/our-system-architecture-evolution?utm_source=habrahabr&amp;utm_medium=cpm&amp;utm_campaign=compress&amp;utm_content=blog\">Evolution of the cloud architecture 1cloud<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/8bfab7a7977ce3f4f0f3d0703d660148.png\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/1cloud.ru\/services\/storage?utm_source=habrahabr&amp;utm_medium=cpm&amp;utm_campaign=compress&amp;utm_content=site\">Object storage service in 1cloud<\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/c175bf85fd93b81c5bb58fa87250d3cf.png\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/1cloudru\/photos\/a.1526614574327724\/2317948435194330\/?type=3&amp;theater\">Potential attacks on HTTPS and ways to protect against them<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/f0dd68a3e2383d73b3769f556e6ca03a.png\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"http:\/\/www.facebook.com\/1cloudru\/posts\/2309275519394955\">How Continuous Delivery and Continuous Integration Approaches Are Similar and Different<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How compression works in object-oriented memory architecture\" src=\"\/wp-content\/uploads\/2019\/05\/2124861baee61e029d4bdbaead1d9c5a.png\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"http:\/\/www.facebook.com\/1cloudru\/posts\/2311523002503540\">How to Secure a Server on the Internet: Experience from 1cloud<\/a><\/noindex><\/p><\/blockquote>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1cloud\/blog\/451356\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438\u0437 MIT \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a \u043e\u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430. \/ PxHere \/ PD \u041a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0440\u043e\u0441\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 CPU \u043d\u0435 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u043f\u0430\u043c\u044f\u0442\u0438. \u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u043e\u0442 \u0433\u043e\u0434\u0430 \u043a \u0433\u043e\u0434\u0443 \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0434\u043e 10 \u0440\u0430\u0437 (PDF, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25147,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438\u0437 MIT \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.\" \/>\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\/administrirovanie\/kak-rabotaet-szhatie-v-obektno-orientirovannoj-arhitekture-pamyati\" \/>\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\udd47\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0436\u0430\u0442\u0438\u0435 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438\u0437 MIT \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-rabotaet-szhatie-v-obektno-orientirovannoj-arhitekture-pamyati\" \/>\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=\"2019-10-31T18:52:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:33+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\udd47How Compression Works in Object-Oriented Memory Architecture | ProHoster","description":"A team of engineers from MIT developed an object-oriented memory hierarchy for more efficient data handling.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-rabotaet-szhatie-v-obektno-orientirovannoj-arhitekture-pamyati","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\udd47\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0436\u0430\u0442\u0438\u0435 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 | ProHoster","og:description":"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438\u0437 MIT \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-rabotaet-szhatie-v-obektno-orientirovannoj-arhitekture-pamyati","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":"2019-10-31T18:52:33+00:00","article:modified_time":"2019-10-31T18:52:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33434","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":"2026-01-21 15:16:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 23:11:30","updated":"2026-01-21 15:16:19","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\/33434","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=33434"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/33434\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/25147"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=33434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=33434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=33434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}