{"title":"RABIT:一个用于运行时仿真和二进制转换的新框架","authors":"S. Pramanik, S. Upadhyaya","doi":"10.1109/SIMSYM.2004.1299485","DOIUrl":null,"url":null,"abstract":"Binary translation has been widely used as object code migration across different architectures. Most current works are targeted towards running an existing (old architecture) binary version of a complex application on a newer architecture and so availability of resources is not a problem. In this paper we propose a technique called RABIT for emulating a newer architecture's binary on an older one. RABIT will allow the consumers to emulate the applications developed for newer hardware on their older machines by incurring some performance trade-offs. This way the needy consumers can take advantage of the newer software features on their existing machines before they decide to upgrade them to later models. In situations where the newer hardware is in place, our technique can be used to run applications redundantly on the older machine for dependability analysis. It also provides the CPU architects with an instruction-level simulator to test the design and stability of a new CPU before the new hardware is actually in place. RABIT's design consists of a translator, an interpreter and a set of operating system services. To deal with the less amount of resources like registers in the older architecture as compared to the newer ones, we present a new register allocation algorithm. The feasibility of the technique is established by simulating RABIT for its performance.","PeriodicalId":152455,"journal":{"name":"37th Annual Simulation Symposium, 2004. Proceedings.","volume":"76 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"RABIT: a new framework for runtime emulation and binary translation\",\"authors\":\"S. Pramanik, S. Upadhyaya\",\"doi\":\"10.1109/SIMSYM.2004.1299485\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Binary translation has been widely used as object code migration across different architectures. Most current works are targeted towards running an existing (old architecture) binary version of a complex application on a newer architecture and so availability of resources is not a problem. In this paper we propose a technique called RABIT for emulating a newer architecture's binary on an older one. RABIT will allow the consumers to emulate the applications developed for newer hardware on their older machines by incurring some performance trade-offs. This way the needy consumers can take advantage of the newer software features on their existing machines before they decide to upgrade them to later models. In situations where the newer hardware is in place, our technique can be used to run applications redundantly on the older machine for dependability analysis. It also provides the CPU architects with an instruction-level simulator to test the design and stability of a new CPU before the new hardware is actually in place. RABIT's design consists of a translator, an interpreter and a set of operating system services. To deal with the less amount of resources like registers in the older architecture as compared to the newer ones, we present a new register allocation algorithm. The feasibility of the technique is established by simulating RABIT for its performance.\",\"PeriodicalId\":152455,\"journal\":{\"name\":\"37th Annual Simulation Symposium, 2004. Proceedings.\",\"volume\":\"76 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2004-04-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"37th Annual Simulation Symposium, 2004. Proceedings.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SIMSYM.2004.1299485\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"37th Annual Simulation Symposium, 2004. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SIMSYM.2004.1299485","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
RABIT: a new framework for runtime emulation and binary translation
Binary translation has been widely used as object code migration across different architectures. Most current works are targeted towards running an existing (old architecture) binary version of a complex application on a newer architecture and so availability of resources is not a problem. In this paper we propose a technique called RABIT for emulating a newer architecture's binary on an older one. RABIT will allow the consumers to emulate the applications developed for newer hardware on their older machines by incurring some performance trade-offs. This way the needy consumers can take advantage of the newer software features on their existing machines before they decide to upgrade them to later models. In situations where the newer hardware is in place, our technique can be used to run applications redundantly on the older machine for dependability analysis. It also provides the CPU architects with an instruction-level simulator to test the design and stability of a new CPU before the new hardware is actually in place. RABIT's design consists of a translator, an interpreter and a set of operating system services. To deal with the less amount of resources like registers in the older architecture as compared to the newer ones, we present a new register allocation algorithm. The feasibility of the technique is established by simulating RABIT for its performance.