From Grid-Appliance Wiki
Archer: a community cyberinfrastructure for computer architecture research and education
Archer integrates wide-area "Grid" computing hardware and virtual-machine based software to make it very easy for researchers, educators, or students to run a variety of computer architecture simulation tools. Archer is an open infrastructure with hundreds of cores available for computer architecture simulation, available for academic users around the globe. Archer currently has a pool of approximately 600 CPUs readily accessible from an easy-to-install virtual machine appliance. The system has logged thousands of jobs consuming over 450,000 CPU hours since its deployment.
How can Archer help me?
Simulations are essential to computer architecture research. To thoroughly evaluate a new computer architecture idea, researchers and students need access to high-performance computers, simulation tools, benchmarks, and datasets - which are not often readily available to many in the community. Archer is a project funded by the National Science Foundation CRI program to address this need by providing researchers, educators and students with a cyberinfrastructure where users in the community benefit from sharing hardware, software, tools, data, documentation, and educational material.
Archer is a community cyberinfrastructure bringing together:
- A Grid of computational resources: Over three years, Archer will aggregate hundreds of cores across a distributed high-throughput computing infrastructure - in essence, a Grid of computing resources available for running architecture simulation jobs. A unique feature in Archer is that this infrastructure is not static - it is only a seed pool of resources, and users can easily contribute with resources of their own by seamlessly deploying Archer virtual machines. The infrastructure is able to grow in capacity as the community grows.
- Ready-to-use VMs with Condor batch-scheduling: Central to Archer is a virtual machine based "Grid appliance" that packages all the software needed to schedule and run architecture simulation jobs conveniently. It also uses the Condor batch job scheduler, a robust system which has been extensively applied to solve computer architecture problems. With VM and Condor integrated, the self-configuring, plug-and-play Archer virtual appliances make it very easy for computer architects to to connect from their own desktops to pools of Condor high-throughput computing resources, and to deploy their own Linux Condor pools on their own resources (for example, instructional lab Windows PCs idle at night). A small local pool can be brought up in a matter of hours by a graduate or undergraduate student. We are currently developing a version of Archer that runs on Amazon EC2 cloud computing resources.
- A Wiki aggregating content of interest to the community: tools, data, documentation and educational materials: Another central part of Archer is its Wiki - a Web knowledge repository focused on the content that is relevant to the Architecture community - because it is provided by members of the community. Archer facilitates sharing of pre-configured executable tools, datasets, self-contained examples and educational materials because its virtual machines provide a consistent, homogeneous environment to its users. It also facilitates publishing and discovery of content through our Wiki - it uses the same MediaWiki software behind systems like Wikipedia to make it very easy for users like you to add your own content to a shared knowledge base. Once you register as a user of Archer, you will also be able to share your own content with the community, such as tutorials, educational materials, and links to applications.
Get started using Archer
- First, go through the self-guided tutorial for Archer Express: For the first time Archer user, the simplest way to get started is to use Archer Express - follow a hands-on tutorial that teaches you how to install the VM and Archer software, and submit jobs to Archer from your own desktop. This tutorial takes around 30 minutes.
- Second, register with Archer and follow the self-guided tutorial for Archer Global: Once you are comfortable with the basics of Archer Express, follow the Archer Global tutorial to learn how to gain access to the main, global Archer pool. This tutorial also describes how you can use applications with Archer site licenses (including Simics). This tutorial takes around 30 minutes.
- Archer Local pools: follow this tutorial if you would like to deploy your own private, independent Archer pool on your own resources.
- Archer Cloud pools (beta): follow this tutorial if you would like to deploy Archer resources on demand on the Amazon EC2 cloud.
- Join our user groups and participate: If you become an Archer user, follow this link to join user groups where you can post/answer questions and share comments.
- Please take our survey and provide us with feedback!
Learn more about Archer
- Archer Infrastructure: Learn more about the hardware infrastructure behind Archer, and learn how to contribute with your own resources.
- Archer Software: Learn more about the software infrastructure behind Archer: virtual machines, virtual networks, and Condor.
- Archer FAQs: Frequently asked questions about Archer.
- Appliance FAQs: Frequently asked questions and troubleshooting tips for the virtual appliance.
- Helpful resources: Pointers to useful documentation on Condor, virtualization, and the Grid Appliance.
- Join our user groups to learn more about Archer from other users.
- People: Learn more about the Archer developers and users.
- Micro-42 Tutorial: Program for the Archer tutorial at MICRO-42 (Dec. 2009 in New York City).
Using Archer in research and education
Follow these step-by-step tutorials if you would like to learn how to run various architecture simulation tools on Archer, including:
- PTLSim basic
- SimNow: running locally in your appliance
- SimNow: running through Condor
Sharing resources, datasets and documents
Archer enables simple sharing of datasets and documents, allowing researchers to spend more time on their research and less time on the setup of experimental environments. By sharing data and documents in Archer, users can reuse components created by the community and create experimental environments that can be easily replicable by others.
- Sharing files using NFS (Network File System): Archer has system-wide support for sharing of large datasets using the well-known Network File System (NFS) interface. This setup is especially useful for simulations that require large checkpoint images (e.g. in Simics): users can easily make NFS repositories with their images on their own resources, and have them accessible (read-only) by remote Archer nodes running Condor.
- Configuring priorities for a group of VMs: It is possible for users or research groups to connect multiple VMs to the Archer Global infrastructure in a way that allows jobs submitted from users within the group to preempt jobs from outside users on their group resources. This is the way Archer provides incentives for users to join with many resources - you are assured that your resources are utilized for your own project when needed, while transparently contributing to the community when idle.
- Adding content to the Archer Wiki: The Archer Wiki is well-suited for collaborative publishing of documents such as HOW-TOs how-tos, educational modules, and FAQs.
Hands-on simulation-based educational modules that use the Archer infrastructure, with tools including Simics, SESC, Cacti, and SPIM.
Find pre-configured benchmarks/datasets for simulators that run on Archer and contribute with your own links.
Publications Using Archer
- R. Figueiredo, P. O. Boykin, J. Fortes, T. Li, J-K. Peir, D. Wolinsky, L. John, D. Kaeli, D. Lilja, S. McKee, G. Memik, A. Roy, G. Tyson, "Archer: A Community Distributed Computing Infrastructure for Computer Architecture Research and Education", Proceedings of 4th International Conference on Collaborative Computing (CollaborateCom 2008), 2008.
- Gang Liu, Zhuo Huang, Jih-Kwon Peir, Xudong Shi, Lu Peng, "Enhanced Stream Prefetcher with Stride Edit Prefetching, Noise Filtering and Stream Repetition", 1st JILP Data Prefetching Championship (DPC-1), (2009).
- Girish Venkatasubramanian, Ramesh Illikal, Donald Newell, Renato Figueiredo, "A Simulation Analysis of Shared TLBs with Tag-based Partitioning in Multicore Virtualized Environments", The 2nd International Workshop on Managed Multi-Core Systems (MMCS09), 2009.
- David Wolinsky, Yonggang Liu, Renato Figueiredo, "Towards a Uniform Self-Configuring Virtual Private Network for Workstations and Clusters in Grid Computing", Proceedings of Virtualization Technologies in Distributed Computing (VTDC09), (2009). Published,
- Girish Venkatasubramanian, Ramesh Illikal, Donald Newell, Renato Figueiredo, "TMT - A TLB Tag Management Framework for Virtualized Platforms", Proceedings of 21st International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD09), (2009).
- David Isaac Wolinsky, Yonggang Liu, Pierre St. Juste, Girish Venkatasubramanian, Renato Figueiredo, "On the Design of Scalable, Self-Configuring Virtual Networks", Proceedings of the SuperComputing Conference (SC09), (2009).
- Karthik Ganesan, Jungho Jo and Lizy K. John, "Synthesizing Memory-Level Parallelism Aware Miniature Clones for SPEC CPU2006 and ImplantBench Workloads", Proccedings of IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS2010), (2010).
- Jeff Stuecheli, Dimitris Kaseridis, David Daly, Hillery Hunter, Lizy K. John, The Virtual Write Queue: Coordinating DRAM and Last-Level Cache Policies, IEEE International Symposium on Computer Architecture (ISCA2010), 2010.
- Girish Venkatasubramanian, Ramesh Illikal, Donald Newell, Renato Figueiredo, "A Simulation Framework for the Analysis of TLB behavior in Virtualized Environments", Proceedings of The 18th Annual Meeting of the IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS 2010), (2010).
- Girish Venkatasubramanian, David Isaac Wolinsky, Renato Figueiredo, "Towards Collaborative Research and Education in Computer Architecture with the Archer System", Proceedings of The 18th Annual Meeting of the IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS 2010), (2010).
- Jeffrey Stuecheli, Dimitris Kaseridis, Hillery C. Hunter and Lizy K. John, "Elastic Refresh: Techniques to Mitigate Refresh Penalties in High Density Memory", Proceedings of the 43rd IEEE/ACM International Symposium on Microarchitecture (MICRO-43), Dec. 2010.
- Jeffrey Stuecheli, Dimitris Kaseridis, Lizy K. John, David Daly, Hillery C. Hunter, "Coordinating DRAM and Last-Level-Cache Policies with the Virtual Write Queue,", IEEE Micro, vol. 31, no. 1, pp. 90-98, Jan./Feb. 2011
- David I Wolinsky and Renato Figueiredo, "Experiences with Self-Organizing Decentralized Grids Using the Grid Appliance", Proceedings of the ACM International Symposium on High Performance Distributed Computing (ACM HPDC 2011) 06/2011
- Jian Chen and Lizy K. John, “Predictive Coordination of Multiple On-chip Resources for Chip Multiprocessors”, Proceedings of ICS, 2011.
- D. Kaseridis, J. Stuecheli and L. K. John, "Minimalist Open-page: A DRAM Page-mode Scheduling Policy for the Many-core Era,", Proceedings of the 44th International Symposium on Microarchitecture (MICRO), Dec. 2011
- Kyungyong Lee, David I Wolinsky and Renato Figueiredo, "PonD : Dynamic Creation of HTC Pool on Demand Using a Decentralized Resource Discovery System", Proceedings of the ACM International Symposium on High Performance Distributed Computing (ACM HPDC 2012) 06/2012
- Government sponsors
|This work is sponsored by the National Science Foundation under CRI collaborative awards 0751112, 0750847, 0750851, 0750852, 0750860, 0750868, 0750884, and 0751091.|
- Industry sponsors
The Archer project gratefully acknowledges an academic site license donation for Simics from Virtutech.