Using Kansei - Basics
1. Overview
3.1 XSM platform files 5.1 Uploading the files to Kansei 5.2 Creating a experiment resource specification 5.3 Configuring the experiment 5.4 Retrieving experiment data 6. Kansei execution policies/semantics 7. Health Monitor 8. Bugs 9. Support
1. OverviewKansei provides a testbed infrastructure to conduct experiments with Extreme Scale Motes (XSMs), Stargates, TelosBs and iMote2s. The current topology of the components are as follows:
The Kansei project is headed by Anish Arora To schedule an experiment on the testbed, one has to do the following:
Access to the Kansei testbed is provided free of cost for the betterment of the research community. Hence in order for the best usage of the resources, do not schedule long experiments unless absolutely necessary. Also if you are a first time user or if you are running a particular experiment for the first time, start with a small set of nodes and move to a bigger set once you are getting the results you expected.
2. Creating a LoginTo start using Kansei, you will first need to create a login by sending an email containing your information to Mukundan Sridharan. When you login into the Kansei Testbed Web-interface, you will be first taken to the testbed status page. The "Testbed Status" tab/page displays experiments that have completed recently, currently running or scheduled to run in future. For experiments that are completed there is a link to retrieve experiment output and the logs. 3. Creating executable filesKansei is designed to be platfrom independent, i.e., Kansei can program its sensor motes with executables/programs created by any platform for that particular hardware. However in order to provide logging and data injection features we need to be Kansei needs to be aware of there platforms. Currently, Kansei supports TinyOs-1.x on XSMs. On TelosB motes we support TinyOs-1.x, TinyOs-2.x and Contiki (support limited, please contant administrator). Stargates are arm-linux platforms and can run any standard arm-executables and shell/perl scripts. Stargates can also execute Emstar based applications. To compile executables for XSM, use the following procedure. 3.1 Creating an executable for XSM:If you are not already familiar with TinyOS, you can find information here. The XSM platform is based on mica2 platform. To add the XSM platform to TinyOS, do the following:
If $tinyos-dir is your tinyOSdirectory 3.2 Enabling Data Logging:If you are running a XSM or a TelosB experiment the kansei automatically starts
a serial forwarder 'asfd' process to log the packets sent over the Uart by the XSM or
the Telos application. The asfd runs on port 9001 for the XSM experiment and
runs on port 9 >3.3 Writing Stargate programs that "listen" to motes;If you are running a Stargate application along with the mote application, you can connect to the 'asfd' process on the appropriate port to get the packets online. For a sample program on how to connect to the asfd process look at the 'sflisten' application under the tools/src/sf directory under your TinyOS installation. 4. Creating a SliceA slice is the logical representative of a user in the GENI context. A user, defined by the login username can be assositated multiple slices. The concept of slice is used throughout the scheduling, monitoring, and result retrieval process of an experiment. Before one can schedule an experiment in our testbed, one has to create a slice that will carry the authentication and authorization attributes of the user. A researcher creates a slice here. From this point on, the notion of a researcher/user will be substituted by slice she have just created. 5.Scheduling ExperimentsNow that we have compiled the executables for the experiment, it's time to upload the file, create a experiment resource specification, and configure the slice. Follow
5.1 Uploading files to Kansei:All binaries and executables must be uploaded to Kansei via the "Files" tab prior to use. There are four kinds of files.
At the bottom of the page is a form for uploading your file. After you upload your file, you should now see the file displayed on the files page. 5.2 Creating an experiment resource specification:This step creates the specification that specifies which set of nodes the experiment is run on. We first select one of the four arrays, namely XSM, TelosB, iMote2, and Stargate array, with which the specification is assosiated. Currently, each specification can only be assosiated with one array type. Then we select can select which set of nodes in the selected array will be used in the experiment by "ctrl+left_mouse_click" the device ID shown on the list. The layout and numbering of nodes in the testbed can be seen by clicking on the 'Topology' tab at the top.5.3 Configuring the experiment:We are now ready to schedule a XSM experiment on the testbed. Click on the Configure Slice tab.
5.4 Starting,Stopping and Retriving experiment data using Dash Board:After scheduling, the experiment should appear on the 'Dash Board' page as 'Ready to Execute'. The user should start the experiment by clicking on the 'Start Experiment' button. If the user forgets to do this the experiment will not be scheduled. Once the user click the 'Start Experiment' button, the experiment is enqued to the Kansei scheduler. Once the scheduler deploys the experiment on the choosen array, the status of the experiment will be shown as 'Running'. You will also have the option of stopping a experiment, if you want to stop it before the scheduled end time. Details about the experiment (including errors etc) appear in the experiment log link on the Dash Board page. At the end of the experiment period, the experiment is moved to the recently completed list and the retrieved files are available as a tar file from the Dash Board page.6. Kansei execution and policies/semantics:Currently, Kansei scheduling does not enforce any priorities among users so experiments are scheduled on a first-come-first-served basis. XSMs and TelosBs are only capable of running one experiment at a time at the moment. Users scheduling experiments with conflicting time will receive warning during the scheduling process and the experiment won't be scheduled. We also ask that users test their programs locally for obvious bugs before uploading them to Kansei. If the program is expected to log data, users should make sure that data is being written on UART by testing locally before uploading to Kansei. 7. Health MonitorThis page reports on the health status of the nodes in the test bed. It displays the statistics for number of Stargates down over the last 24 hours and over the last month. It also displays a list of Stargates that down in the last scan. If these Stargates are part of a group, which is used for scheduling experiments, then these Stargates will be skipped while scheduling, but the experiments themselves will be scheduled. So it is important that you check this page before you create your group or schedule experiments. 8. BugsFor a list of known bugs and for submitting new bugs click here 9. SupportSupport is provided via an email group. Click here for more details
|