# services # Automatically determine the newest base image that isn't currently running live: _running = os.popen('virsh list').read() base = os.path.splitext([_x for _x in sorted(os.listdir('/home/salvus/vm/images/base3')) if _x.split('.')[0] not in _running][-1])[0] cassandra_ram = 12 cassandra_cpu = 4 web_ram = 4 web_cpu = 2 old_compute_ram = 2 old_compute_cpu = 1 compute_ram = 58 compute_ram_med = 36 compute_cpu = 12 # DO *NOT* change compute_cpu willy-nilly; if you change it, you must rebuild ATLAS, which takes 12 hours. # if you don't rebuild ATLAS, then it will crash on this benchmark # sage: n=1000;import numpy; a=numpy.random.randn(n,n); # sage: %timeit b=numpy.linalg.inv(a) # 1 loops, best of 3: 183 ms per loop # Google Compute Engine [vmgce] ##################### ## us-central1-a ##################### # compute/storage nodes: localhost {'hostname':'compute1dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} localhost {'hostname':'compute2dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} localhost {'hostname':'compute3dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} localhost {'hostname':'compute4dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} localhost {'hostname':'compute5dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} localhost {'hostname':'compute6dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} localhost {'hostname':'compute7dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} localhost {'hostname':'compute8dc2', 'disk':'bup:500', 'instance_type':'n1-highmem-4', 'zone':'us-central1-a'} # backup localhost {'hostname':'backup1dc2', 'disk':'backup1:4000', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} # cassandra cluster localhost {'hostname':'cassandra1dc2', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} localhost {'hostname':'cassandra2dc2', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} localhost {'hostname':'cassandra3dc2', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} localhost {'hostname':'cassandra4dc2', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} # web servers/hubs localhost {'hostname':'web1dc2', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} localhost {'hostname':'web2dc2', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} #localhost {'hostname':'devel1dc2', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} #localhost {'hostname':'devel2dc2', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} #localhost {'hostname':'devel3dc2', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} #localhost {'hostname':'devel4dc2', 'instance_type':'n1-standard-1', 'zone':'us-central1-a'} #localhost {'hostname':'devel5dc2', 'instance_type':'n1-standard-1', 'zone':'europe-west1-b'} ##################### ## europe-west1-b ##################### # compute/storage nodes: localhost {'hostname':'compute1dc3', 'disk':'bup:500', 'instance_type':'n1-highmem-2', 'zone':'europe-west1-b'} #localhost {'hostname':'compute2dc3', 'disk':'bup:500', 'instance_type':'g1-small', 'zone':'europe-west1-b'} #localhost {'hostname':'compute3dc3', 'disk':'bup:500', 'instance_type':'g1-small', 'zone':'europe-west1-b'} #localhost {'hostname':'compute4dc3', 'disk':'bup:500', 'instance_type':'g1-small', 'zone':'europe-west1-b'} # cassandra cluster localhost {'hostname':'cassandra1dc3', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'europe-west1-b'} localhost {'hostname':'cassandra2dc3', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'europe-west1-b'} localhost {'hostname':'cassandra3dc3', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'europe-west1-b'} localhost {'hostname':'cassandra4dc3', 'disk':'cassandra-ssd:100,cassandra-ssd-2:100', 'instance_type':'n1-standard-1', 'zone':'europe-west1-b'} # web servers/hubs localhost {'hostname':'web1dc3', 'instance_type':'n1-standard-1', 'zone':'europe-west1-c'} localhost {'hostname':'web2dc3', 'instance_type':'n1-standard-1', 'zone':'europe-west1-c'} ##################### ## asia-east1-a ##################### # compute/storage nodes: #localhost {'hostname':'compute1dc4', 'disk':'bup:500', 'instance_type':'g1-small', 'zone':'asia-east1-a'} #localhost {'hostname':'compute2dc4', 'disk':'bup:500', 'instance_type':'g1-small', 'zone':'asia-east1-a'} #localhost {'hostname':'compute3dc4', 'disk':'bup:500', 'instance_type':'g1-small', 'zone':'asia-east1-a'} #localhost {'hostname':'compute4dc4', 'disk':'bup:500', 'instance_type':'g1-small', 'zone':'asia-east1-a'} # cassandra cluster #localhost {'hostname':'cassandra1dc4', 'disk':'cassandra:100', 'instance_type':'n1-highmem-1', 'zone':'asia-east1-a'} #localhost {'hostname':'cassandra2dc4', 'disk':'cassandra:100', 'instance_type':'n1-highmem-1', 'zone':'asia-east1-a'} #localhost {'hostname':'cassandra3dc4', 'disk':'cassandra:100', 'instance_type':'n1-highmem-1', 'zone':'asia-east1-a'} #localhost {'hostname':'cassandra4dc4', 'disk':'cassandra:100', 'instance_type':'n1-highmem-1', 'zone':'asia-east1-a'} # web servers/hubs #localhost {'hostname':'web1dc4', 'instance_type':'n1-standard-1', 'zone':'asia-east1-a'} #localhost {'hostname':'web2dc4', 'instance_type':'n1-standard-1', 'zone':'asia-east1-a'} #localhost {'hostname':'web3dc4', 'instance_type':'n1-standard-1', 'zone':'asia-east1-a'} #localhost {'hostname':'web4dc4', 'instance_type':'n1-standard-1', 'zone':'asia-east1-a'} ########################################## # UW KVM Virtual Machine Cluster(s) [vm] # database nodes cloud1 {'hostname':'cassandra1', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra1', 'vnc':13200} cloud2 {'hostname':'cassandra2', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra2', 'vnc':13200} cloud3 {'hostname':'cassandra3', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra3', 'vnc':13200} cloud4 {'hostname':'cassandra4', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra4', 'vnc':13200} cloud5 {'hostname':'cassandra5', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra5', 'vnc':13200} cloud6 {'hostname':'cassandra6', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra6', 'vnc':13200} cloud7 {'hostname':'cassandra7', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra7', 'vnc':13200} #cloud10 {'hostname':'cassandra10', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra10', 'vnc':13200} #cloud11 {'hostname':'cassandra11', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra11', 'vnc':13200} #cloud12 {'hostname':'cassandra12', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra12', 'vnc':13200} #cloud13 {'hostname':'cassandra13', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra13', 'vnc':13200} #cloud14 {'hostname':'cassandra14', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra14', 'vnc':13200} #cloud15 {'hostname':'cassandra15', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra15', 'vnc':13200} #cloud16 {'hostname':'cassandra16', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra16', 'vnc':13200} #cloud17 {'hostname':'cassandra17', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra17', 'vnc':13200} #cloud18 {'hostname':'cassandra18', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra18', 'vnc':13200} #cloud19 {'hostname':'cassandra19', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra19', 'vnc':13200} #cloud20 {'hostname':'cassandra20', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra20', 'vnc':13200} #cloud21 {'hostname':'cassandra21', 'vcpus':cassandra_cpu, 'ram':cassandra_ram, 'base':base, 'disk':'/dev/zvol/ssd/cassandra21', 'vnc':13200} # web/hub nodes cloud1 {'hostname':'web1', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud2 {'hostname':'web2', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud3 {'hostname':'web3', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud4 {'hostname':'web4', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud5 {'hostname':'web5', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud6 {'hostname':'web6', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud7 {'hostname':'web7', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud10 {'hostname':'web10', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud11 {'hostname':'web11', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud12 {'hostname':'web12', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud13 {'hostname':'web13', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud14 {'hostname':'web14', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud15 {'hostname':'web15', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud16 {'hostname':'web16', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud17 {'hostname':'web17', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud18 {'hostname':'web18', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud19 {'hostname':'web19', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud20 {'hostname':'web20', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} cloud21 {'hostname':'web21', 'vcpus':web_cpu, 'ram':web_ram, 'base':base, 'vnc':13300} # compute vm's cloud1 {'hostname':'compute1dc1', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute1dc1', 'vnc':13100} cloud2 {'hostname':'compute2dc1', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute2dc1', 'vnc':13100} cloud3 {'hostname':'compute3dc1', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute3dc1', 'vnc':13100} cloud4 {'hostname':'compute4dc1', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute4dc1', 'vnc':13100} cloud5 {'hostname':'compute5dc1', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute5dc1', 'vnc':13100} cloud6 {'hostname':'compute6dc1', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute6dc1', 'vnc':13100} cloud7 {'hostname':'compute7dc1', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute7dc1', 'vnc':13100} cloud10 {'hostname':'compute10dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute10dc0', 'vnc':13100} cloud11 {'hostname':'compute11dc0', 'vcpus':compute_cpu, 'ram':compute_ram_med, 'base':base, 'disk':'/dev/zvol/ssd/compute11dc0', 'vnc':13100} cloud12 {'hostname':'compute12dc0', 'vcpus':compute_cpu, 'ram':compute_ram_med, 'base':base, 'disk':'/dev/zvol/ssd/compute12dc0', 'vnc':13100} cloud13 {'hostname':'compute13dc0', 'vcpus':compute_cpu, 'ram':compute_ram_med, 'base':base, 'disk':'/dev/zvol/ssd/compute13dc0', 'vnc':13100} cloud14 {'hostname':'compute14dc0', 'vcpus':compute_cpu, 'ram':compute_ram_med, 'base':base, 'disk':'/dev/zvol/ssd/compute14dc0', 'vnc':13100} cloud15 {'hostname':'compute15dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute15dc0', 'vnc':13100} cloud16 {'hostname':'compute16dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute16dc0', 'vnc':13100} cloud17 {'hostname':'compute17dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute17dc0', 'vnc':13100} cloud18 {'hostname':'compute18dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute18dc0', 'vnc':13100} cloud19 {'hostname':'compute19dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute19dc0', 'vnc':13100} cloud20 {'hostname':'compute20dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute20dc0', 'vnc':13100} cloud21 {'hostname':'compute21dc0', 'vcpus':compute_cpu, 'ram':compute_ram, 'base':base, 'disk':'/dev/zvol/ssd/compute21dc0', 'vnc':13100} # Cassandra nodes [cassandra] {'auto_bootstrap':True, 'cluster_name':'salvus', 'path':'/mnt/cassandra', 'thrift_framed_transport_size_in_mb':'99', 'authenticator':'org.apache.cassandra.auth.PasswordAuthenticator', 'authorizer':'org.apache.cassandra.auth.CassandraAuthorizer', 'incremental_backups':True, 'memtable_flush_writers':2, 'memtable_allocation_type':'offheap_objects'} # DC1: padelford cassandra1 {'seed':True, 'topology':'DC1:RAC0', 'num_tokens':256} cassandra2 {'seed':False, 'topology':'DC1:RAC0', 'num_tokens':256} cassandra3 {'seed':True, 'topology':'DC1:RAC0', 'num_tokens':256} cassandra4 {'seed':True, 'topology':'DC1:RAC1', 'num_tokens':256} cassandra5 {'seed':False, 'topology':'DC1:RAC1', 'num_tokens':256} cassandra6 {'seed':False, 'topology':'DC1:RAC1', 'num_tokens':256} cassandra7 {'seed':False, 'topology':'DC1:RAC1', 'num_tokens':256} # DC0: 4545 datacenter #cassandra10 {'seed':True, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra11 {'seed':True, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra12 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra13 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra14 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra15 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra16 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra17 {'seed':True, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra18 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra19 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra20 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} #cassandra21 {'seed':False, 'topology':'DC0:RAC0', 'num_tokens':256} # DC2: Google US cassandra1dc2 {'seed':True, 'topology':'DC2:RAC0', 'num_tokens':256} cassandra2dc2 {'seed':False, 'topology':'DC2:RAC0', 'num_tokens':256} cassandra3dc2 {'seed':False, 'topology':'DC2:RAC0', 'num_tokens':256} cassandra4dc2 {'seed':True, 'topology':'DC2:RAC0', 'num_tokens':256} # DC3: Google Europe cassandra1dc3 {'seed':True, 'topology':'DC3:RAC0', 'num_tokens':256} cassandra2dc3 {'seed':False, 'topology':'DC3:RAC0', 'num_tokens':256} cassandra3dc3 {'seed':False, 'topology':'DC3:RAC0', 'num_tokens':256} cassandra4dc3 {'seed':True, 'topology':'DC3:RAC0', 'num_tokens':256} # DC5: Commercial google us-central1-f smc1dc5 {'seed':True, 'topology':'DC5:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc2dc5 {'seed':False, 'topology':'DC5:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc3dc5 {'seed':False, 'topology':'DC5:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc4dc5 {'seed':False, 'topology':'DC5:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc5dc5 {'seed':True, 'topology':'DC5:RAC0', 'num_tokens':256, 'auto_bootstrap':False} # DC6: Commercial google: europe-west1-c smc1dc6 {'seed':True, 'topology':'DC6:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc2dc6 {'seed':False, 'topology':'DC6:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc3dc6 {'seed':False, 'topology':'DC6:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc4dc6 {'seed':False, 'topology':'DC6:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc5dc6 {'seed':True, 'topology':'DC6:RAC0', 'num_tokens':256, 'auto_bootstrap':False} # DC7: Commercial google: asia-east1-c smc1dc7 {'seed':True, 'topology':'DC7:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc2dc7 {'seed':False, 'topology':'DC7:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc3dc7 {'seed':False, 'topology':'DC7:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc4dc7 {'seed':False, 'topology':'DC7:RAC0', 'num_tokens':256, 'auto_bootstrap':False} smc5dc7 {'seed':True, 'topology':'DC7:RAC0', 'num_tokens':256, 'auto_bootstrap':False} [stunnel] {'sudo':True} edge [haproxy] {'sudo':True, 'insecure_redirect_port':80, 'sitename':'cloud.sagemath.com'} edge [nginx] nginx [hub] hub {'id':'0', 'port':'5000', 'proxy_port':'5001'} hub {'id':'1', 'port':'5002', 'proxy_port':'5003'} #hub {'id':'2', 'port':'5004', 'proxy_port':'5005'} #hub {'id':'3', 'port':'5006', 'proxy_port':'5007'}