gitextract_h85zoo_k/ ├── .gitignore ├── LICENSE ├── deploy/ │ ├── README │ ├── ec2/ │ │ ├── README │ │ ├── ec2-exp.sh │ │ ├── ec2_exp.py │ │ ├── fairness.py │ │ ├── fairness.sh │ │ ├── isolation.py │ │ ├── isolation.sh │ │ ├── osdi.py │ │ ├── prepare_tpch_experiments.py │ │ ├── prepare_tpch_experiments.sh │ │ ├── probe-ratio-het.sh │ │ ├── probe-ratio.sh │ │ ├── probe_ratio.py │ │ ├── probe_ratio_het.py │ │ ├── spark_v_mesos.py │ │ ├── template/ │ │ │ ├── README │ │ │ ├── backends.txt │ │ │ ├── build_sparrow.sh │ │ │ ├── clean_logs.sh │ │ │ ├── configure_node.sh │ │ │ ├── create_database.sh │ │ │ ├── create_tpch_tables_primary.sh │ │ │ ├── create_tpch_tables_secondary.sh │ │ │ ├── deploy_sparrow.sh │ │ │ ├── find_bugs.sh │ │ │ ├── find_bugs_filtered.sh │ │ │ ├── find_bugs_verbose.sh │ │ │ ├── find_cache_partitions.sh │ │ │ ├── frontend.conf │ │ │ ├── frontends.txt │ │ │ ├── hadoop-env.sh │ │ │ ├── hdfs-site.xml │ │ │ ├── hive-site.xml │ │ │ ├── prepare_logs.sh │ │ │ ├── shark-env.sh │ │ │ ├── spark-env.sh │ │ │ ├── spark-run.sh │ │ │ ├── sparrow.conf │ │ │ ├── sparrow_schedulers.txt │ │ │ ├── start_mesos_master.sh │ │ │ ├── start_mesos_slave.sh │ │ │ ├── start_proto_backend.sh │ │ │ ├── start_proto_frontend.sh │ │ │ ├── start_shark_tpch.sh │ │ │ ├── start_spark_backend.sh │ │ │ ├── start_spark_frontend.sh │ │ │ ├── start_sparrow.sh │ │ │ ├── start_throughput_exp_spark.sh │ │ │ ├── start_throughput_exp_sparrow.sh │ │ │ ├── stop_mesos_master.sh │ │ │ ├── stop_mesos_slave.sh │ │ │ ├── stop_proto_backend.sh │ │ │ ├── stop_proto_frontend.sh │ │ │ ├── stop_spark_backend.sh │ │ │ ├── stop_spark_frontend.sh │ │ │ ├── stop_sparrow.sh │ │ │ ├── tpch/ │ │ │ │ ├── make_base_tables.hql │ │ │ │ ├── make_denorm_cached.hql │ │ │ │ ├── make_denorm_table_primary.hql │ │ │ │ ├── make_denorm_table_secondary.hql │ │ │ │ ├── tpch_workload_1 │ │ │ │ ├── tpch_workload_10 │ │ │ │ ├── tpch_workload_11 │ │ │ │ ├── tpch_workload_12 │ │ │ │ ├── tpch_workload_13 │ │ │ │ ├── tpch_workload_14 │ │ │ │ ├── tpch_workload_15 │ │ │ │ ├── tpch_workload_2 │ │ │ │ ├── tpch_workload_3 │ │ │ │ ├── tpch_workload_4 │ │ │ │ ├── tpch_workload_5 │ │ │ │ ├── tpch_workload_6 │ │ │ │ ├── tpch_workload_7 │ │ │ │ ├── tpch_workload_8 │ │ │ │ └── tpch_workload_9 │ │ │ ├── tpch_experiment.sh │ │ │ └── wipe_hdfs.sh │ │ └── tpch_experiments.py │ ├── example_sparrow_configuration.conf │ └── third_party/ │ └── boto-2.1.1/ │ ├── PKG-INFO │ ├── bin/ │ │ ├── bundle_image │ │ ├── cfadmin │ │ ├── cq │ │ ├── cwutil │ │ ├── elbadmin │ │ ├── fetch_file │ │ ├── kill_instance │ │ ├── launch_instance │ │ ├── list_instances │ │ ├── lss3 │ │ ├── pyami_sendmail │ │ ├── route53 │ │ ├── s3multiput │ │ ├── s3put │ │ ├── sdbadmin │ │ └── taskadmin │ ├── boto/ │ │ ├── __init__.py │ │ ├── auth.py │ │ ├── auth_handler.py │ │ ├── cacerts/ │ │ │ ├── __init__.py │ │ │ └── cacerts.txt │ │ ├── cloudformation/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── stack.py │ │ │ └── template.py │ │ ├── cloudfront/ │ │ │ ├── __init__.py │ │ │ ├── distribution.py │ │ │ ├── exception.py │ │ │ ├── identity.py │ │ │ ├── invalidation.py │ │ │ ├── logging.py │ │ │ ├── object.py │ │ │ ├── origin.py │ │ │ └── signers.py │ │ ├── connection.py │ │ ├── contrib/ │ │ │ ├── __init__.py │ │ │ ├── m2helpers.py │ │ │ └── ymlmessage.py │ │ ├── ec2/ │ │ │ ├── __init__.py │ │ │ ├── address.py │ │ │ ├── autoscale/ │ │ │ │ ├── __init__.py │ │ │ │ ├── activity.py │ │ │ │ ├── group.py │ │ │ │ ├── instance.py │ │ │ │ ├── launchconfig.py │ │ │ │ ├── policy.py │ │ │ │ ├── request.py │ │ │ │ └── scheduled.py │ │ │ ├── blockdevicemapping.py │ │ │ ├── bundleinstance.py │ │ │ ├── buyreservation.py │ │ │ ├── cloudwatch/ │ │ │ │ ├── __init__.py │ │ │ │ ├── alarm.py │ │ │ │ ├── datapoint.py │ │ │ │ ├── listelement.py │ │ │ │ └── metric.py │ │ │ ├── connection.py │ │ │ ├── ec2object.py │ │ │ ├── elb/ │ │ │ │ ├── __init__.py │ │ │ │ ├── healthcheck.py │ │ │ │ ├── instancestate.py │ │ │ │ ├── listelement.py │ │ │ │ ├── listener.py │ │ │ │ ├── loadbalancer.py │ │ │ │ ├── policies.py │ │ │ │ └── securitygroup.py │ │ │ ├── image.py │ │ │ ├── instance.py │ │ │ ├── instanceinfo.py │ │ │ ├── keypair.py │ │ │ ├── launchspecification.py │ │ │ ├── placementgroup.py │ │ │ ├── regioninfo.py │ │ │ ├── reservedinstance.py │ │ │ ├── securitygroup.py │ │ │ ├── snapshot.py │ │ │ ├── spotdatafeedsubscription.py │ │ │ ├── spotinstancerequest.py │ │ │ ├── spotpricehistory.py │ │ │ ├── tag.py │ │ │ ├── volume.py │ │ │ └── zone.py │ │ ├── ecs/ │ │ │ ├── __init__.py │ │ │ └── item.py │ │ ├── emr/ │ │ │ ├── __init__.py │ │ │ ├── bootstrap_action.py │ │ │ ├── connection.py │ │ │ ├── emrobject.py │ │ │ ├── instance_group.py │ │ │ └── step.py │ │ ├── exception.py │ │ ├── file/ │ │ │ ├── __init__.py │ │ │ ├── bucket.py │ │ │ ├── connection.py │ │ │ ├── key.py │ │ │ └── simpleresultset.py │ │ ├── fps/ │ │ │ ├── __init__.py │ │ │ └── connection.py │ │ ├── gs/ │ │ │ ├── __init__.py │ │ │ ├── acl.py │ │ │ ├── bucket.py │ │ │ ├── connection.py │ │ │ ├── key.py │ │ │ ├── resumable_upload_handler.py │ │ │ └── user.py │ │ ├── handler.py │ │ ├── https_connection.py │ │ ├── iam/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ └── summarymap.py │ │ ├── jsonresponse.py │ │ ├── manage/ │ │ │ ├── __init__.py │ │ │ ├── cmdshell.py │ │ │ ├── propget.py │ │ │ ├── server.py │ │ │ ├── task.py │ │ │ ├── test_manage.py │ │ │ └── volume.py │ │ ├── mashups/ │ │ │ ├── __init__.py │ │ │ ├── interactive.py │ │ │ ├── iobject.py │ │ │ ├── order.py │ │ │ └── server.py │ │ ├── mturk/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── notification.py │ │ │ ├── price.py │ │ │ ├── qualification.py │ │ │ └── question.py │ │ ├── plugin.py │ │ ├── provider.py │ │ ├── pyami/ │ │ │ ├── __init__.py │ │ │ ├── bootstrap.py │ │ │ ├── config.py │ │ │ ├── copybot.py │ │ │ ├── helloworld.py │ │ │ ├── launch_ami.py │ │ │ ├── scriptbase.py │ │ │ └── startup.py │ │ ├── rds/ │ │ │ ├── __init__.py │ │ │ ├── dbinstance.py │ │ │ ├── dbsecuritygroup.py │ │ │ ├── dbsnapshot.py │ │ │ ├── event.py │ │ │ ├── parametergroup.py │ │ │ └── regioninfo.py │ │ ├── regioninfo.py │ │ ├── resultset.py │ │ ├── roboto/ │ │ │ ├── __init__.py │ │ │ ├── awsqueryrequest.py │ │ │ ├── awsqueryservice.py │ │ │ └── param.py │ │ ├── route53/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── exception.py │ │ │ ├── hostedzone.py │ │ │ └── record.py │ │ ├── s3/ │ │ │ ├── __init__.py │ │ │ ├── acl.py │ │ │ ├── bucket.py │ │ │ ├── bucketlistresultset.py │ │ │ ├── connection.py │ │ │ ├── deletemarker.py │ │ │ ├── key.py │ │ │ ├── multipart.py │ │ │ ├── prefix.py │ │ │ ├── resumable_download_handler.py │ │ │ └── user.py │ │ ├── sdb/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── db/ │ │ │ │ ├── __init__.py │ │ │ │ ├── blob.py │ │ │ │ ├── key.py │ │ │ │ ├── manager/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── pgmanager.py │ │ │ │ │ ├── sdbmanager.py │ │ │ │ │ └── xmlmanager.py │ │ │ │ ├── model.py │ │ │ │ ├── property.py │ │ │ │ ├── query.py │ │ │ │ ├── sequence.py │ │ │ │ └── test_db.py │ │ │ ├── domain.py │ │ │ ├── item.py │ │ │ ├── queryresultset.py │ │ │ └── regioninfo.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ ├── bs.py │ │ │ ├── message.py │ │ │ ├── result.py │ │ │ ├── service.py │ │ │ ├── servicedef.py │ │ │ ├── sonofmmm.py │ │ │ └── submit.py │ │ ├── ses/ │ │ │ ├── __init__.py │ │ │ └── connection.py │ │ ├── sns/ │ │ │ ├── __init__.py │ │ │ └── connection.py │ │ ├── sqs/ │ │ │ ├── __init__.py │ │ │ ├── attributes.py │ │ │ ├── connection.py │ │ │ ├── jsonmessage.py │ │ │ ├── message.py │ │ │ ├── queue.py │ │ │ └── regioninfo.py │ │ ├── storage_uri.py │ │ ├── sts/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ └── credentials.py │ │ ├── utils.py │ │ └── vpc/ │ │ ├── __init__.py │ │ ├── customergateway.py │ │ ├── dhcpoptions.py │ │ ├── internetgateway.py │ │ ├── routetable.py │ │ ├── subnet.py │ │ ├── vpc.py │ │ ├── vpnconnection.py │ │ └── vpngateway.py │ └── setup.py ├── lib/ │ ├── README │ └── javax.jms-1.1.jar ├── pom.xml ├── readme.markdown ├── simulation/ │ ├── run_simulation.py │ ├── simulation.py │ ├── simulation_batch.py │ ├── simulation_cancellation.py │ ├── simulation_centralized.py │ ├── simulation_hacked.py │ ├── simulation_multi.py │ ├── simulation_random.py │ ├── test_simulation_cancellation.py │ ├── test_simulation_multi.py │ └── util.py ├── src/ │ ├── main/ │ │ ├── gen-java/ │ │ │ └── edu/ │ │ │ └── berkeley/ │ │ │ └── sparrow/ │ │ │ └── thrift/ │ │ │ ├── BackendService.java │ │ │ ├── FrontendService.java │ │ │ ├── GetTaskService.java │ │ │ ├── IncompleteRequestException.java │ │ │ ├── InternalService.java │ │ │ ├── LoadSpec.java │ │ │ ├── NodeMonitorService.java │ │ │ ├── PongService.java │ │ │ ├── SchedulerService.java │ │ │ ├── SchedulerStateStoreService.java │ │ │ ├── StateStoreService.java │ │ │ ├── TCancelTaskReservationsRequest.java │ │ │ ├── TEnqueueTaskReservationsRequest.java │ │ │ ├── TFullTaskId.java │ │ │ ├── THostPort.java │ │ │ ├── TNodeState.java │ │ │ ├── TPlacementPreference.java │ │ │ ├── TResourceVector.java │ │ │ ├── TSchedulingRequest.java │ │ │ ├── TTaskLaunchSpec.java │ │ │ ├── TTaskSpec.java │ │ │ └── TUserGroupInfo.java │ │ ├── java/ │ │ │ └── edu/ │ │ │ └── berkeley/ │ │ │ └── sparrow/ │ │ │ ├── api/ │ │ │ │ ├── SparrowBackendClient.java │ │ │ │ └── SparrowFrontendClient.java │ │ │ ├── daemon/ │ │ │ │ ├── SparrowConf.java │ │ │ │ ├── SparrowDaemon.java │ │ │ │ ├── StandaloneStateStore.java │ │ │ │ ├── nodemonitor/ │ │ │ │ │ ├── ConfigNodeMonitorState.java │ │ │ │ │ ├── FifoTaskScheduler.java │ │ │ │ │ ├── NoQueueTaskScheduler.java │ │ │ │ │ ├── NodeMonitor.java │ │ │ │ │ ├── NodeMonitorState.java │ │ │ │ │ ├── NodeMonitorThrift.java │ │ │ │ │ ├── PriorityTaskScheduler.java │ │ │ │ │ ├── RoundRobinTaskScheduler.java │ │ │ │ │ ├── StandaloneNodeMonitorState.java │ │ │ │ │ ├── TaskLauncherService.java │ │ │ │ │ └── TaskScheduler.java │ │ │ │ ├── scheduler/ │ │ │ │ │ ├── CancellationService.java │ │ │ │ │ ├── ConfigSchedulerState.java │ │ │ │ │ ├── ConstrainedTaskPlacer.java │ │ │ │ │ ├── Scheduler.java │ │ │ │ │ ├── SchedulerState.java │ │ │ │ │ ├── SchedulerThrift.java │ │ │ │ │ ├── StandaloneSchedulerState.java │ │ │ │ │ ├── TaskPlacer.java │ │ │ │ │ └── UnconstrainedTaskPlacer.java │ │ │ │ └── util/ │ │ │ │ ├── ConfigUtil.java │ │ │ │ ├── Logging.java │ │ │ │ ├── Network.java │ │ │ │ ├── Resolution.java │ │ │ │ ├── Resources.java │ │ │ │ ├── Serialization.java │ │ │ │ ├── TClients.java │ │ │ │ ├── TServers.java │ │ │ │ └── ThriftClientPool.java │ │ │ └── examples/ │ │ │ ├── BackendBenchmarkProfiler.java │ │ │ ├── FairnessTestingFrontend.java │ │ │ ├── HeterogeneousFrontend.java │ │ │ ├── PingClient.java │ │ │ ├── PongServer.java │ │ │ ├── ProtoBackend.java │ │ │ ├── ProtoFrontend.java │ │ │ ├── ProtoFrontendAsync.java │ │ │ ├── SimpleBackend.java │ │ │ ├── SimpleFrontend.java │ │ │ ├── ThriftPongClient.java │ │ │ ├── ThriftPongServer.java │ │ │ ├── ThroughputTestingFrontend.java │ │ │ └── readme.markdown │ │ ├── python/ │ │ │ ├── README │ │ │ ├── get_response_time.py │ │ │ ├── get_utilization.py │ │ │ ├── parse_logs.py │ │ │ ├── parse_logs.sh │ │ │ ├── parse_per_task_logs.py │ │ │ ├── parse_per_task_logs.sh │ │ │ ├── parse_tpch_logs.py │ │ │ ├── parse_tpch_logs.sh │ │ │ ├── service_per_node.py │ │ │ └── third_party/ │ │ │ └── stats.py │ │ └── thrift/ │ │ ├── build.sh │ │ ├── service.thrift │ │ └── types.thrift │ └── test/ │ └── java/ │ └── edu/ │ └── berkeley/ │ └── sparrow/ │ └── daemon/ │ ├── nodemonitor/ │ │ └── TestTaskScheduler.java │ ├── scheduler/ │ │ ├── TestConstrainedTaskPlacer.java │ │ └── TestUnconstrainedTaskPlacer.java │ └── util/ │ └── TestThriftClientPool.java └── upload.py