| CARVIEW |
Select Language
HTTP/2 200
date: Mon, 29 Dec 2025 14:14:01 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"d465547079a0f1dd08f65b6ac1c36f2f"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=KtHDzy51YHJXiintKkJbO4rX912OgB84iOUMpnc1df%2F0NfY%2FTDFUNsPyP3s3Vmwwn77InHxUVRyatkiyMKikOKmx5yfiN3cXUmBplDZfoJPXaKF%2Fo%2FKhZwPQaGYjf1MvFKQmrZllqjPyrvXr4y5Rfy1UoX5O34n%2BCy%2Btg1H69y5W8ca1FYnZKX2ZUbilcc4Nf7kyhl5fEZHZEVHA8yxn3ijRSLo9is4anwZKC6o%2BR4fGFfpZ4bFD4TgKPyngNUIgg4sbymBbTfoqfWCtF8It5w%3D%3D--mjA7VfIkPWGe2WdM--MkLoDjqrSsG0w8dwiHdDQw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1521415556.1767017641; Path=/; Domain=github.com; Expires=Tue, 29 Dec 2026 14:14:01 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 29 Dec 2026 14:14:01 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 9C5E:329234:6297D8A:7623FBA:69528CA9
Home · rashisht1/gradient_coding Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Rashish Tandon edited this page Sep 7, 2017
·
30 revisions
This page contains instructions for running the associated implementation on Amazon EC2. We use a cluster management toolkit called StarCluster (https://star.mit.edu/cluster/) to manage a cluster of EC2 machines.
-
Install the StarCluster toolkit (https://star.mit.edu/cluster/)
-
To configure StarCluster, edit the config file (found in
.starclusterfolder) as follows:- Add AWS Security Keys in the fields
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY. See here for more details. - Add AWS User Id in the field
AWS_USER_ID. See here for more details. - Generate an EC2 Key pair (see here for more details). Add the key location in the StarCluster config file, by defining a "key" in the config file, for e.g.
[key myrandomkey] KEY_LOCATION = ~/myrandomlocation/myrandomkey.pem - Define plugin templates in the config file to add MPI and mpi4py to the EC2 cluster machines --- these are used in our implementation, and are not part of standard AMIs provided by StarCluster.
[plugin mpich2] SETUP_CLASS = starcluster.plugins.mpich2.MPICH2Setup [plugin mpi4py] SETUP_CLASS = starcluster.plugins.pypkginstaller.PyPkgInstaller PACKAGES = mpi4py - Define volume templates in the config file to attach an EBS volume to an EC2 cluster via NFS-share --- these may be used to store data. You will need the volume id of the EBS volume to attach it.
[volume mydata] VOLUME ID = vol-123123123123 MOUNT_PATH = /mydatapath - Define cluster templates in the config file to launch a cluster on EC2. Here is a sample configuration we used:
[cluster myclusterconf] KEYNAME = myrandomkey CLUSTER_SIZE = 21 CLUSTER_USER = sgeadmin CLUSTER_SHELL = bash NODE_IMAGE_ID = ami-6b211202 NODE_INSTANCE_TYPE = t2.micro MASTER_IMAGE_ID = ami-3393a45a MASTER_INSTANCE_TYPE = m1.small PLUGINS = mpi4py, mpich2 SPOT_BID = 0.5 SUBNET_ID = subnet-9999a99b9 PUBLIC_IPS = True VOLUMES = mydata - Some EC2 instances can only be launched on a subnet. See here to create it. Also, SPOT_BID specifies a spot bid for spot type instances
- Add AWS Security Keys in the fields
-
Once you have edited the config file and added a cluster template (
myclusterconfin the above example), you can launch an EC2 cluster as:starcluster start -c myclusterconf mynewcluster -
You may ssh to the Master node in your cluster as:
starcluster sshmaster mynewcluster -
Finally, you may terminate your cluster as:
starcluster terminate mynewcluster
- Launch an EC2 cluster using StarCluster.
- Clone this repository into the Master node of your cluster
- Edit the Makefile as needed. Below are some pointers:
- Specify the folder containing data in the field
DATA_FOLDER - Specify the data set path and size in the fields
DATASET,N_ROWSandN_COLS, and setIS_REALto 1. - You may use
make arrange_real_datato preprocess the data and break it into partitions (this may have to be re-written for your specific use case, but some examples are provided) - To work with random data instead, use
make generate_random_datato generate an artificial dataset (of size specified in the Makefile, in the fieldsN_ROWSandN_COLS) and setIS_REALto 0. - Specify the total number of workers and the number of stragglers in the fields
N_PROCSandN_STRAGGLERS, respectively. - If using partial coding schemes (see paper for details), specify the no. of partitions each worker processes in
N_PARTITIONS, and also setPARTIAL_CODEDto 1
- Specify the folder containing data in the field
- Edit the number of iterations, regularization coefficient and learning rate schedules in the file
main.pythrough the variablesnum_itrs,alphaandlearning_rate_schedule, respectively. - Now, you can run (accelerated) gradient descent for various schemes as follows:
-
make naivefor the Naive (uncoded) scheme -
make avoidstraggfor the Ignoring Stragglers scheme -
make cyccodedfor the Cyclic Repetition scheme -
make repcodedfor the Fractional Repetition scheme -
make partialcyccodedfor the Partial Cyclic Repetition scheme -
make partialrepcodedfor the Partial Fractional Repetition scheme
-
Clone this wiki locally
You can’t perform that action at this time.