This guide will give you an overview of how to get started working on the SAGE project.
The Sage project's goal is to design and build a new kind of national-scale reusable cyberinfrastructure to enable AI at the edge. To learn about the project, check out the GitHub page, https://github.com/sagecontinuum/sage , and the SAGE project's website, https://sagecontinuum.org/ . I encourage you to explore the SAGE GitHub repository to learn the layout of the project. Be sure to write down any questions you may have while exploring the SAGE GitHub repository. When finished overlooking the repository, contact Joe or Raj regarding questions about the SAGE GitHub repository.
Upon overviewing the repository, the next step is to go over the Agile Scrum framework. Agile Scrum is a workflow that promotes rapid prototyping and efficiency. The SAGE project is following the Agile Scrum develoment process. Every team member is encouraged to watch a six-part video series explaining the Agile Scrum process which can be found in the team's Agile Scrum Google Drive. Download (to enable document links to work) the latest "Software_Development_Process" PDF and head to section "Agile Scrum Training". The document also contains helpful tutorials on the tools the team uses (i.e. JIRA & Miro). If you have any questions please reach out to Joe Swantek via Slack.
For the SAGE project, the application Docker is being used extensively. Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Take some time to learn the fundamentals of Docker. Here's a link to a short and friendly tutorial: https://www.youtube.com/watch?v=7S73WERRqO4. Feel free to watch or use any resources to learn about Docker (ex. https://docs.docker.com/). You will want to have Docker Desktop installed to your computer.
This must be the form of authentication that you use to SSH into any Argonne server. There is a good guide to generating a key here.
Skip this if you already have a Argonne Domain or Argonne Collaborator account.
https://apps.anl.gov/registration/collaborators
Needed to get access to our data store ( https://www.lcrc.anl.gov/for-users/getting-started/getting-an-account/ )
- Request membership to the
waggle
project by clicking "Join Project" on the right and then searching for waggle. Once your request has been approved (takes minutes or a few hours), you will also added automatically to thelcrc
project. If not, let us know. - Add your public SSH key to the LCRC account.
Sage software and hardware will be accessible this summer within an "Edge Testbed", so students and scientists can write AI@Edge code for Sage nodes deployed in the field. Initially, the platforms will be open in "friends and family" mode. We hope to open it up more broadly after we gain some experience with running the Edge Testbed. The initial configuration of the Edge Testbed will be hosted at Argonne through JLSE (thanks Mike!!). Developers and students should sign up for accounts if they do not already have one. These processes take time (particularly for students and mentors who are non-US citizens or PR), so please get started now.
https://accounts.jlse.anl.gov/
All of the above will ask for a few details:
- Sponsor:
Raj
- Reason for the Account:
Write AI@Edge code for Waggle nodes.
Please feel free to reach out to Rajesh if you have any further questions.
Platform-specific instructions for configuing ssh clients can also be found here: https://www.lcrc.anl.gov/for-users/getting-started/ssh/
Add the following configuration to the file ~/.ssh/config
in you home folder on the machine that you will be using to login from: (It the file does not exist, create it.)
Host lcrc
Hostname bebop.lcrc.anl.gov
User USERNAME
Replace USERNAME
with your LCRC username. This defines the host lcrc
.
Place your RSA private key (the one that came with your public key) into the ~/.ssh/rsa_id
file. This is where SSH will automatically pull your key from when you login.
Run the command ssh lcrc
to test your ability to log in to Bebop. IMPORTANT: If it asks you for a password in a prompt that looks like Password:
, you have done something wrong (likely you did not setup an id_rsa
file correctly). The server should only need your private key, not an additional password. If you try your Argonne password, it will reject it, and in my case, block me from very essential Argonne services.
In the Bebop SSH terminal, see if you can access the folder /lcrc/project/waggle
. If you cannot, Raj or Pete have not accepted your request to join the waggle project on LCRC.