In recent years, formal methods based on Symbolic Computer Algebra (SCA) have shown very good results in verification of integer multipliers. The success is based on removing redundant terms (vanishing monomials) early which allows to avoid the explosion in the number of monomials during backward rewriting. However, the SCA approaches still suffer from two major problems: (1) high dependence on the detection of Half Adders (HAs) realized as AND-XOR gates in the multiplier netlist, and (2) extremely large search space for finding the source of the vanishing monomials. As a consequence, if the multiplier consists of dirty logic, i.e. for instance using non-standard libraries or logic optimization, the existing SCA methods are completely blind on the resulting polynomials, and their techniques for effective division fail.In this paper, we present REVSCA. REVSCA brings back light into backward rewriting by identifying the atomic blocks of the arithmetic circuits using dedicated reverse engineering techniques. Our approach takes advantage of these atomic blocks to detect all sources of vanishing monomials independent of the design architecture. Furthermore, it cuts the local vanishing removal time drastically due to limiting the search space to a small part of the design only. Experimental results confirm the efficiency of our approach in verification of a wide variety of integer multipliers with up to 1024 output bits.
{"title":"RevSCA","authors":"Alireza Mahzoon, Daniel Große, R. Drechsler","doi":"10.1145/3316781.3317898","DOIUrl":"https://doi.org/10.1145/3316781.3317898","url":null,"abstract":"In recent years, formal methods based on Symbolic Computer Algebra (SCA) have shown very good results in verification of integer multipliers. The success is based on removing redundant terms (vanishing monomials) early which allows to avoid the explosion in the number of monomials during backward rewriting. However, the SCA approaches still suffer from two major problems: (1) high dependence on the detection of Half Adders (HAs) realized as AND-XOR gates in the multiplier netlist, and (2) extremely large search space for finding the source of the vanishing monomials. As a consequence, if the multiplier consists of dirty logic, i.e. for instance using non-standard libraries or logic optimization, the existing SCA methods are completely blind on the resulting polynomials, and their techniques for effective division fail.In this paper, we present REVSCA. REVSCA brings back light into backward rewriting by identifying the atomic blocks of the arithmetic circuits using dedicated reverse engineering techniques. Our approach takes advantage of these atomic blocks to detect all sources of vanishing monomials independent of the design architecture. Furthermore, it cuts the local vanishing removal time drastically due to limiting the search space to a small part of the design only. Experimental results confirm the efficiency of our approach in verification of a wide variety of integer multipliers with up to 1024 output bits.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129407707","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
T. Ajayi, Vidya A. Chhabria, Mateus Fogaça, S. Hashemi, Abdelrahman Hosny, A. Kahng, Minsoo Kim, Jeongsup Lee, U. Mallappa, Marina Neseem, G. Pradipta, S. Reda, Mehdi Saligane, S. Sapatnekar, C. Sechen, M. Shalan, W. Swartz, Lutong Wang, Zhehong Wang, M. Woo, Bangqi Xu
We describe the planned Alpha release of OpenROAD, an open-source end-to-end silicon compiler. OpenROAD will help realize the goal of “democratization of hardware design”, by reducing cost, expertise, schedule and risk barriers that confront system designers today. The development of open-source, self-driving design tools is in and of itself a “moon shot” with numerous technical and cultural challenges. The open-source flow incorporates a compatible open-source set of tools that span logic synthesis, floorplanning, placement, clock tree synthesis, global routing and detailed routing. The flow also incorporates analysis and support tools for static timing analysis, parasitic extraction, power integrity analysis, and cloud deployment. We also note several observed challenges, or “lessons learned”, with respect to development of open-source EDA tools and flows.
{"title":"Toward an Open-Source Digital Flow","authors":"T. Ajayi, Vidya A. Chhabria, Mateus Fogaça, S. Hashemi, Abdelrahman Hosny, A. Kahng, Minsoo Kim, Jeongsup Lee, U. Mallappa, Marina Neseem, G. Pradipta, S. Reda, Mehdi Saligane, S. Sapatnekar, C. Sechen, M. Shalan, W. Swartz, Lutong Wang, Zhehong Wang, M. Woo, Bangqi Xu","doi":"10.1145/3316781.3326334","DOIUrl":"https://doi.org/10.1145/3316781.3326334","url":null,"abstract":"We describe the planned Alpha release of OpenROAD, an open-source end-to-end silicon compiler. OpenROAD will help realize the goal of “democratization of hardware design”, by reducing cost, expertise, schedule and risk barriers that confront system designers today. The development of open-source, self-driving design tools is in and of itself a “moon shot” with numerous technical and cultural challenges. The open-source flow incorporates a compatible open-source set of tools that span logic synthesis, floorplanning, placement, clock tree synthesis, global routing and detailed routing. The flow also incorporates analysis and support tools for static timing analysis, parasitic extraction, power integrity analysis, and cloud deployment. We also note several observed challenges, or “lessons learned”, with respect to development of open-source EDA tools and flows.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"754 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117006888","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The capacity of memory and storage devices is expected to increase drastically with adoption of the forthcoming memory and integration technologies. This is a welcome improvement especially for datacenter servers running modern data-intensive applications. Nonetheless, for such servers to fully benefit from the increasing capacity, the bandwidth of interconnects between processors and these devices must also increase proportionally, which becomes ever costlier under unabating physical constraints. As a promising alternative to tackle this challenge cost-effectively, a heterogeneous computing paradigm referred to as near-data processing (NDP) has emerged. However, NDP has not yet been widely adopted by the industry because of significant gaps between existing software stacks and demanded ones for NDP-capable memory and storage devices. Aiming to overcome the gaps, we propose to turn memory and storage devices into familiar heterogeneous distributed computing systems. Then, we demonstrate potentials of such computing systems for existing data-intensive applications with two recently implemented NDP-capable devices. Finally, we conclude with a practical blueprint to exploit the NDP-based computing systems for speeding up solving future computer-aided design and optimization problems.
{"title":"Practical Near-Data Processing to Evolve Memory and Storage Devices into Mainstream Heterogeneous Computing Systems","authors":"N. Kim, P. Mehra","doi":"10.1145/3316781.3323484","DOIUrl":"https://doi.org/10.1145/3316781.3323484","url":null,"abstract":"The capacity of memory and storage devices is expected to increase drastically with adoption of the forthcoming memory and integration technologies. This is a welcome improvement especially for datacenter servers running modern data-intensive applications. Nonetheless, for such servers to fully benefit from the increasing capacity, the bandwidth of interconnects between processors and these devices must also increase proportionally, which becomes ever costlier under unabating physical constraints. As a promising alternative to tackle this challenge cost-effectively, a heterogeneous computing paradigm referred to as near-data processing (NDP) has emerged. However, NDP has not yet been widely adopted by the industry because of significant gaps between existing software stacks and demanded ones for NDP-capable memory and storage devices. Aiming to overcome the gaps, we propose to turn memory and storage devices into familiar heterogeneous distributed computing systems. Then, we demonstrate potentials of such computing systems for existing data-intensive applications with two recently implemented NDP-capable devices. Finally, we conclude with a practical blueprint to exploit the NDP-based computing systems for speeding up solving future computer-aided design and optimization problems.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"150 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115550732","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Thomas Nyman, Ghada Dessouky, Shaza Zeitouni, Aaro Lehikoinen, Andrew J. Paverd, N. Asokan, A. Sadeghi
Memory-unsafe programming languages like C and C++ leave many (embedded) systems vulnerable to attacks like control-flow hijacking. However, defenses against control-flow attacks, such as (fine-grained) randomization or control-flow integrity are ineffective against data-oriented attacks and more expressive Data-oriented Programming (DOP) attacks that bypass state-of-the-art defenses. We propose run-time scope enforcement (RSE), a novel approach that efficiently mitigates all currently known DOP attacks by enforcing compile-time memory safety constraints like variable visibility rules at run-time. We present Hardscope, a proof-of-concept implementation of hardware-assisted RSE for RISC-V, and show it has a low performance overhead of 3.2% for embedded benchmarks.
{"title":"HardScope","authors":"Thomas Nyman, Ghada Dessouky, Shaza Zeitouni, Aaro Lehikoinen, Andrew J. Paverd, N. Asokan, A. Sadeghi","doi":"10.1145/3316781.3317836","DOIUrl":"https://doi.org/10.1145/3316781.3317836","url":null,"abstract":"Memory-unsafe programming languages like C and C++ leave many (embedded) systems vulnerable to attacks like control-flow hijacking. However, defenses against control-flow attacks, such as (fine-grained) randomization or control-flow integrity are ineffective against data-oriented attacks and more expressive Data-oriented Programming (DOP) attacks that bypass state-of-the-art defenses. We propose run-time scope enforcement (RSE), a novel approach that efficiently mitigates all currently known DOP attacks by enforcing compile-time memory safety constraints like variable visibility rules at run-time. We present Hardscope, a proof-of-concept implementation of hardware-assisted RSE for RISC-V, and show it has a low performance overhead of 3.2% for embedded benchmarks.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127388915","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Jie Zhang, Miryeong Kwon, Hyojong Kim, Hyesoon Kim, Myoungsoo Jung
We propose FlashGPU, a new GPU architecture that tightly blends new flash (Z-NAND) with massive GPU cores. Specifically, we replace global memory with Z-NAND that exhibits ultra-low latency. We also architect a flash core to manage request dispatches and address translations underneath L2 cache banks of GPU cores. While Z-NAND is a hundred times faster than conventional 3D-stacked flash, its latency is still longer than DRAM. To address this shortcoming, we propose a dynamic page-placement and buffer manager in Z-NAND subsystems by being aware of bulk and parallel memory access characteristics of GPU applications, thereby offering high-throughput and low-energy consumption behaviors.
{"title":"FlashGPU","authors":"Jie Zhang, Miryeong Kwon, Hyojong Kim, Hyesoon Kim, Myoungsoo Jung","doi":"10.1145/3316781.3317827","DOIUrl":"https://doi.org/10.1145/3316781.3317827","url":null,"abstract":"We propose FlashGPU, a new GPU architecture that tightly blends new flash (Z-NAND) with massive GPU cores. Specifically, we replace global memory with Z-NAND that exhibits ultra-low latency. We also architect a flash core to manage request dispatches and address translations underneath L2 cache banks of GPU cores. While Z-NAND is a hundred times faster than conventional 3D-stacked flash, its latency is still longer than DRAM. To address this shortcoming, we propose a dynamic page-placement and buffer manager in Z-NAND subsystems by being aware of bulk and parallel memory access characteristics of GPU applications, thereby offering high-throughput and low-energy consumption behaviors.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126871736","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Michael Werner, Keerthikumara Devarajegowda, M. Chaari, W. Ecker
Developing software in a slightly different way can have a dramatic impact on soft error resilience. This observation can be transferred in a process of improving existing code by transformations. These transformations are of systematic nature and can be automated. In this paper, we present a framework for low level embedded software generation - commonly referred to as firmware -- and the inclusion of safety measures in the generated code. The generation approach follows a three stage process starting with formalized firmware specification using both platform dependent and independent firmware models. Finally, C-code is generated from the view model in a straight forward way. Safety measures are included either as part of the translation step between the models or as transformations of single models.
{"title":"Increasing Soft Error Resilience by Software Transformation","authors":"Michael Werner, Keerthikumara Devarajegowda, M. Chaari, W. Ecker","doi":"10.1145/3316781.3323479","DOIUrl":"https://doi.org/10.1145/3316781.3323479","url":null,"abstract":"Developing software in a slightly different way can have a dramatic impact on soft error resilience. This observation can be transferred in a process of improving existing code by transformations. These transformations are of systematic nature and can be automated. In this paper, we present a framework for low level embedded software generation - commonly referred to as firmware -- and the inclusion of safety measures in the generated code. The generation approach follows a three stage process starting with formalized firmware specification using both platform dependent and independent firmware models. Finally, C-code is generated from the view model in a straight forward way. Safety measures are included either as part of the translation step between the models or as transformations of single models.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"114 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126362922","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Chuck Beef Chuck Arm Pot-Roast Moist B C 2 Ro M Beef Chuck Arm Pot-Roast, Bnls Moist B C 3 Ro M Beef Chuck Arm Steak Moist B C 2 St M Beef Chuck Arm Steak, Bnls Moist B C 3 St M Beef Chuck 7-Bone Pot-Roast Moist B C 35 Ro M Beef Chuck 7-Bone Steak Dry/Moist B C 35 St D/M Beef Chuck Blade Roast Moist B C 6 Ro M Beef Chuck Blade Steak Dry/Moist B C 6 St D/M Beef Chuck Eye Roast, Bnls Dry/Moist B C 13 Ro D/M Beef Chuck Mock Tender Roast Moist B C 25 Ro M Beef Chuck Mock Tender Steak Moist B C 25 St M Beef Chuck Top Blade Steak, Bnls Dry/Moist B C 53 St D/M Brisket Beef Brisket, Flat Half, Bnls Moist B B 76 M Beef Brisket, Point Half, Bnls Moist B B 80 M Beef Brisket, Whole, Bnls Moist B B 70 M Beef Brisket, Corned Moist B B 72 M Shank Beef Shank Cross Cuts Moist B L 74 M Beef Shank Cross Cuts, Bnls Moist B L 75 M Rib Beef Rib Roast, Large end Dry B J 30 Ro D Beef Rib Roast, Small end Dry B J 31 Ro D Beef Rib Steak, Small end Dry B J 31 St D Beef Rib Steak, Small end, Bnls Dry B J 32 St D Beef Rib Eye Roast Dry B J 29 Ro D Beef Rib Eye Steak Dry B J 29 St D Plate Beef Plate Skirt Steak, Bnls Dry/Moist B I 40 St D/M Beef Plate Short Ribs Moist B I 85 M Loin Beef Loin Top Loin Steak Dry B H 54 St D Beef Loin Top Loin Steak, Bnls Dry B H 55 St D Beef Loin T-bone Steak Dry B H 49 St D Beef Loin Porterhouse Steak Dry B H 27 St D Beef Loin Sirloin Flat Bone Steak Dry B H 38 St D Beef Loin Top Sirloin Steak Dry B H 57 St D Beef Loin Tenderloin Roast Dry B H 50 Ro D Beef Loin Tenderloin Steak Dry B H 50 St D Flank Beef Flank Steak Dry/Moist B D 17 St D/M Round Beef Round Steak Moist B K 33 St M Beef Round Steak, Bnls Moist B K 34 St M Beef Round Top Round Roast Dry B K 56 Ro D Beef Round Top Round Steak Dry B K 56 St D Beef Round Bottom Round Roast Dry/Moist B K 9 Ro D/M Beef Round Bottom Round Steak Moist B K 9 St M Beef Round Bottom Round Rump Rst Dry/Moist B K 10 Ro D/M Beef Round Eye Round Roast Dry/Moist B K 16 Ro D/M Beef Round Eye Round Steak Dry/Moist B K 16 St D/M Beef Round Tip Roast Dry/Moist B K 51 Ro D/M Beef Round Tip Steak Dry B K 51 St D Beef Round Tip Roast Cap Off Dry/Moist B K 52 Ro D/M Beef Round Tip Steak Cap Off Dry B K 52 St D Beef Round Heel of Round Roast Moist B K 23 Ro M Various Beef Cubed Steak Dry/Moist B Q 14 St D/M Beef for Stew Moist B Q 68 M Ground Beef Dry B Q 78 D
查克·查克手臂炖牛肉潮湿B 2 C罗M查克•手臂炖牛肉bnl潮湿B C 3 Ro M牛肉查克手臂牛排潮湿B C 2圣M查克手臂牛排,牛肉bnl潮湿B C 3圣米牛肉查克7-Bone炖潮湿B C 35 Ro M牛肉查克7-Bone牛排干/湿B C 35圣D / M烤牛肉查克叶片湿润B C 6 Ro M牛肉夹头叶片牛排干/湿B C 6圣D / M查克•眼睛烤牛肉bnl干/湿B C 13 Ro D / M查克模拟嫩烤牛肉潮湿B C 25 Ro M牛肉查克模拟嫩牛排潮湿B C 25圣M牛肉查克顶部叶片牛排,bnl干/湿B C 53圣D / M胸牛腩,平坦的一半,bnl潮湿B B 76牛胸肉,一半,bnl潮湿B B 80牛胸肉,整体,bnl潮湿B B 70牛胸肉,牛肉咸湿B B 72柄柄交叉削减潮湿bl 74柄交叉削减牛肉,bnl潮湿bl 75肋肋烤牛肉,大型干燥结束B J 30 Ro D牛肉烤肋骨、小端干B J 31 Ro D牛肉肋骨牛排,小末干B J 31 St D牛肉肋骨牛排,小结束,bnl干B J 32圣D牛肉肋眼牛排烤干B J 29 Ro D牛肉肋眼牛排干B J 29日圣D板板裙牛排,牛肉bnl干/湿我40 D St / M牛肉片牛肉排骨滋润我85腰腰顶腰干B H 54圣D牛肉牛排腰腰牛排,bnl干B H 55圣D牛肉腰骨牛排干B H 49圣D牛肉腰上等腰肉牛排干B H 27日圣D牛肉腰沙朗扁平骨牛排干B H 38圣D牛肉腰顶级沙朗牛排干B H 57圣D牛腰肉里脊烤干B H 50 Ro D牛腰肉里脊牛排干50 B H圣旁边牛肉牛腩排干/湿B D 17圣D / M圆形牛肉牛腿肉滋润B K 33圣M牛肉牛排,bnl潮湿B K 34圣M牛肉一轮前一轮烤干B K 56 Ro D牛肉圆前牛腿肉干燥B K 56圣维牛肉一轮下一轮烤干/湿B K 9 Ro D / M牛肉一轮下一轮牛排潮湿B K 9圣M牛肉圆底圆的臀部Rst干/湿B K 10 Ro D / M牛肉圆眼睛圆烤干/湿B K 16 Ro D / M牛肉圆眼睛牛腿肉干/湿B K 16圣D / M牛肉圆尖烤干/湿B K 51 Ro D / M牛肉圆尖牛排干B K 51圣D牛肉圆尖烤干/湿B K 52 Ro帽D/M牛肉圆头牛排盖脱干bk52 St D牛肉圆后跟烤湿bk23 Ro M各种牛肉块干/湿bq14 St D/M炖牛肉湿bq68 M干碎bq78 D
{"title":"PRIMAL","authors":"Yuan Zhou, Haoxing Ren, Yanqing Zhang, Ben Keller, Brucek Khailany, Zhiru Zhang","doi":"10.1145/3316781.3317884","DOIUrl":"https://doi.org/10.1145/3316781.3317884","url":null,"abstract":"Chuck Beef Chuck Arm Pot-Roast Moist B C 2 Ro M Beef Chuck Arm Pot-Roast, Bnls Moist B C 3 Ro M Beef Chuck Arm Steak Moist B C 2 St M Beef Chuck Arm Steak, Bnls Moist B C 3 St M Beef Chuck 7-Bone Pot-Roast Moist B C 35 Ro M Beef Chuck 7-Bone Steak Dry/Moist B C 35 St D/M Beef Chuck Blade Roast Moist B C 6 Ro M Beef Chuck Blade Steak Dry/Moist B C 6 St D/M Beef Chuck Eye Roast, Bnls Dry/Moist B C 13 Ro D/M Beef Chuck Mock Tender Roast Moist B C 25 Ro M Beef Chuck Mock Tender Steak Moist B C 25 St M Beef Chuck Top Blade Steak, Bnls Dry/Moist B C 53 St D/M Brisket Beef Brisket, Flat Half, Bnls Moist B B 76 M Beef Brisket, Point Half, Bnls Moist B B 80 M Beef Brisket, Whole, Bnls Moist B B 70 M Beef Brisket, Corned Moist B B 72 M Shank Beef Shank Cross Cuts Moist B L 74 M Beef Shank Cross Cuts, Bnls Moist B L 75 M Rib Beef Rib Roast, Large end Dry B J 30 Ro D Beef Rib Roast, Small end Dry B J 31 Ro D Beef Rib Steak, Small end Dry B J 31 St D Beef Rib Steak, Small end, Bnls Dry B J 32 St D Beef Rib Eye Roast Dry B J 29 Ro D Beef Rib Eye Steak Dry B J 29 St D Plate Beef Plate Skirt Steak, Bnls Dry/Moist B I 40 St D/M Beef Plate Short Ribs Moist B I 85 M Loin Beef Loin Top Loin Steak Dry B H 54 St D Beef Loin Top Loin Steak, Bnls Dry B H 55 St D Beef Loin T-bone Steak Dry B H 49 St D Beef Loin Porterhouse Steak Dry B H 27 St D Beef Loin Sirloin Flat Bone Steak Dry B H 38 St D Beef Loin Top Sirloin Steak Dry B H 57 St D Beef Loin Tenderloin Roast Dry B H 50 Ro D Beef Loin Tenderloin Steak Dry B H 50 St D Flank Beef Flank Steak Dry/Moist B D 17 St D/M Round Beef Round Steak Moist B K 33 St M Beef Round Steak, Bnls Moist B K 34 St M Beef Round Top Round Roast Dry B K 56 Ro D Beef Round Top Round Steak Dry B K 56 St D Beef Round Bottom Round Roast Dry/Moist B K 9 Ro D/M Beef Round Bottom Round Steak Moist B K 9 St M Beef Round Bottom Round Rump Rst Dry/Moist B K 10 Ro D/M Beef Round Eye Round Roast Dry/Moist B K 16 Ro D/M Beef Round Eye Round Steak Dry/Moist B K 16 St D/M Beef Round Tip Roast Dry/Moist B K 51 Ro D/M Beef Round Tip Steak Dry B K 51 St D Beef Round Tip Roast Cap Off Dry/Moist B K 52 Ro D/M Beef Round Tip Steak Cap Off Dry B K 52 St D Beef Round Heel of Round Roast Moist B K 23 Ro M Various Beef Cubed Steak Dry/Moist B Q 14 St D/M Beef for Stew Moist B Q 68 M Ground Beef Dry B Q 78 D","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121311264","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software (SW) implementations of cryptographic algorithms are vulnerable to Side-channel Analysis (SCA) attacks, basically relinquishing the key to the outside world through measurable physical properties of the processor like power consumption and electromagnetic radiation. Protected SW implementations typically have a significant timing and code size overhead as well as a substantially long development time because hands-on testing the result is crucial. Plenty of scientific publications offer solutions for this problem for all kinds of algorithms but they are not straightforward to implement as they rely on device assumptions which are rarely met, nor do these solutions take micro-architecture related leakages into account. We present a solution to this problem by integrating side-channel analysis countermeasures into a RISC-V implementation. Our solution protects against first-order power or electromagnetic attacks while keeping the implementation costs as low as possible. We made use of state of the art masking techniques and present a novel solution to protect memory access against SCA. Practical results are provided that demonstrate the leakage results of various cryptographic primitives running on our protected hardware platform.
{"title":"Protecting RISC-V against Side-Channel Attacks","authors":"E. D. Mulder, Samatha Gummalla, M. Hutter","doi":"10.1145/3316781.3323485","DOIUrl":"https://doi.org/10.1145/3316781.3323485","url":null,"abstract":"Software (SW) implementations of cryptographic algorithms are vulnerable to Side-channel Analysis (SCA) attacks, basically relinquishing the key to the outside world through measurable physical properties of the processor like power consumption and electromagnetic radiation. Protected SW implementations typically have a significant timing and code size overhead as well as a substantially long development time because hands-on testing the result is crucial. Plenty of scientific publications offer solutions for this problem for all kinds of algorithms but they are not straightforward to implement as they rely on device assumptions which are rarely met, nor do these solutions take micro-architecture related leakages into account. We present a solution to this problem by integrating side-channel analysis countermeasures into a RISC-V implementation. Our solution protects against first-order power or electromagnetic attacks while keeping the implementation costs as low as possible. We made use of state of the art masking techniques and present a novel solution to protect memory access against SCA. Practical results are provided that demonstrate the leakage results of various cryptographic primitives running on our protected hardware platform.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"348 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132672230","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
L. Batina, Patrick Jauernig, N. Mentens, A. Sadeghi, Emmanuel Stapf
Data processing and communication in almost all electronic systems are based on Central Processing Units (CPUs). In order to guarantee confidentiality and integrity of the software running on a CPU, hardware-assisted security architectures are used. However, both the threat model and the non-functional platform requirements, i.e. performance and energy budget, differ when we go from high-end desktop computers and servers to low-end embedded devices that populate the internet of things (IoT). For high-end platforms, a relatively large energy budget is available to protect software against attacks. However, measures to optimize performance give rise to microarchitectural side-channel attacks. IoT devices, in contrast, are constrained in terms of energy consumption and do not incorporate the performance enhancements found in high-end CPUs. Hence, they are less likely to be susceptible to microarchitectural attacks, but give rise to physical attacks, exploiting, e.g., leakage in power consumption or through fault injection. Whereas previous work mostly concentrates on a specific architecture, this paper covers the whole spectrum of computing systems, comparing the corresponding hardware architectures, and most relevant threats.
{"title":"In Hardware We Trust","authors":"L. Batina, Patrick Jauernig, N. Mentens, A. Sadeghi, Emmanuel Stapf","doi":"10.1145/3316781.3323480","DOIUrl":"https://doi.org/10.1145/3316781.3323480","url":null,"abstract":"Data processing and communication in almost all electronic systems are based on Central Processing Units (CPUs). In order to guarantee confidentiality and integrity of the software running on a CPU, hardware-assisted security architectures are used. However, both the threat model and the non-functional platform requirements, i.e. performance and energy budget, differ when we go from high-end desktop computers and servers to low-end embedded devices that populate the internet of things (IoT). For high-end platforms, a relatively large energy budget is available to protect software against attacks. However, measures to optimize performance give rise to microarchitectural side-channel attacks. IoT devices, in contrast, are constrained in terms of energy consumption and do not incorporate the performance enhancements found in high-end CPUs. Hence, they are less likely to be susceptible to microarchitectural attacks, but give rise to physical attacks, exploiting, e.g., leakage in power consumption or through fault injection. Whereas previous work mostly concentrates on a specific architecture, this paper covers the whole spectrum of computing systems, comparing the corresponding hardware architectures, and most relevant threats.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129818116","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
With increased density, flash memory becomes more vulnerable to errors. Error correction incurs high overhead, which is sensitive in SSD cache. However, some applications like multimedia processing have the intrinsic tolerance of inaccuracies. In this paper, we propose ASCache, an approximate SSD cache, which allows bit errors in a controllable threshold for error-tolerant applications, so as to reduce the cache miss ratio caused by incorrect cache pages. ASCache further trades the strictness of error correction mechanisms for higher SSD access performance. Evaluations show ASCache reduces the average read latency by at most 30% and the cache miss ratio by 52%.
{"title":"ASCache","authors":"Fei Li, Youyou Lu, Zhongjie Wu, J. Shu","doi":"10.1145/3316781.3317778","DOIUrl":"https://doi.org/10.1145/3316781.3317778","url":null,"abstract":"With increased density, flash memory becomes more vulnerable to errors. Error correction incurs high overhead, which is sensitive in SSD cache. However, some applications like multimedia processing have the intrinsic tolerance of inaccuracies. In this paper, we propose ASCache, an approximate SSD cache, which allows bit errors in a controllable threshold for error-tolerant applications, so as to reduce the cache miss ratio caused by incorrect cache pages. ASCache further trades the strictness of error correction mechanisms for higher SSD access performance. Evaluations show ASCache reduces the average read latency by at most 30% and the cache miss ratio by 52%.","PeriodicalId":391209,"journal":{"name":"Proceedings of the 56th Annual Design Automation Conference 2019","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116795233","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}