Skip to content
This repository was archived by the owner on May 10, 2024. It is now read-only.

artifacts pipeline and sample plots#147

Open
askiad wants to merge 44 commits intovmware-archive:deltafrom
askiad:delta
Open

artifacts pipeline and sample plots#147
askiad wants to merge 44 commits intovmware-archive:deltafrom
askiad:delta

Conversation

@askiad
Copy link
Copy Markdown
Contributor

@askiad askiad commented Nov 17, 2021

Artifacts pipeline (tested on delta branch)

Contains sample outputs in sample_results
Run with ./run_emulation [long]
Currently runs for generated traces (generated-data.txt from generate_trace.py) and small cluster sizes.

Signed-off-by: Athinagoras Skiadopoulos askiad@stanford.edu

lalithsuresh and others added 28 commits November 11, 2021 11:36
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
…parsed by ddlog-sql

Changes:
- char(N) --> varchar(N) because the DDlog language doesn't support char(N)
- Remove FK constraints, as neither Calcite nor Presto support this
- Add types to arrays so they are parseable by Calcite

----------

All uncommented views in DBSchema pass both H2 and Presto translation

Edits required:
- select --> select distinct, necessary for both Calcite and Presto
- remove camelcase column names, as Presto make everything case-insensitive
- DDlog cannot support LIMIT, which will need to be addressed in the future
- Remove ';' at the end of some statements, as Presto doesn't like this

TODO:
- Fix commented-out views in DBSchema, which are a combination of sql->DDlog compiler not supporting some statements, or Calcite doesn't like some of the complex SQL

----------

All views other than affinity/anti-affinity pass

- Add all columns that are using in the HAVING clause to GROUP BY clause
- Add array_length functionality to DDlog
- DDlog only supports array_agg for now, instead of array_agg_distinct

TODO:
- array_agg_distinct
- Affinity views

-----------

Move all DDlog SQL updates to separate files, so that we can still run our H2 tests

-----------

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>

Changes to make SchedulerTest::testSchedulerNodePredicates pass

Summary of changes:
- New IConnectionPool interface so that we can seamlessly swap DBConnectionPool out for DDlogDBConnectionPool
- Temporarily comment out OnDuplicateKeyUpdate queries in PodEventsToDatabase and NodeResourceEventHandler, as DDlog backend cannot handle MERGE SQL queries at the moment
- Inserts into DDlog must be in order of the column declarations in the CREATE TABLE statement
- Any SQL queries that will eventually hit DDlog must use unqualified names
- Wherever there is a dslContext.meta.getTables() call (or any dslContext.meta.* function call), for the DDlog backend this must be called against the dslContext that is a class variable within the DDlogJooqProvider. Every other dslContext call (i.e. ones that are used to execute select/insert/etc. queries), should be made against the DSLContext held inside the DDlogDBConnectionPool. These two use cases are differentiated by the two different accessor functions inside IConnectionPool.

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>

Migrate modifications to scheduler_tables.sql and DBView.java to DDlog versions

testSchedulerNodePredicates and testSpareCapacity both pass.

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>

testHostPorts passes

Goes with corresponding DDlog patch on vectors (array_agg column type)

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
…spare capacity views that Lalith has

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
…ables on the DDlog side

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
…ts seem to work at this commit

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
- "_augmented" views still don't work because they require preemption views from DDlogDBViews, which were commented out hitherto

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
… to work

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
… use a stale DDlog API.

Instead, don't compileAndLoad until the very last time (after Autoscope)

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
…ptimized DDlog program file. In that case, /tmp/program.dl is not compiled using sql-ddlog compiler. Instead, we just copy over contents of the hand-optimized file into /tmp/program.dl.

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
…kend

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
… Views once, so that we never have to compile it again with each of the CartesianProductTests.

We also temporarily change the Scheduler constructor to add AutoScoped views to DDlog, even if the Scheduler isn't running in AutoScoped mode. This is so that we can use the same DDlog program (with scoping) for non-scoped tests as well.

Need to fix this eventually, as for real tests/workloads, we might want to turn off Autoscoping.

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
@lalithsuresh
Copy link
Copy Markdown
Contributor

@askiad could you remove the plots and the generated data? They needn't go into version control.

Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
…t-joins are brewing

Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
@vmwclabot
Copy link
Copy Markdown

@askiad, you must sign every commit in this pull request acknowledging our Developer Certificate of Origin before your changes are merged. This can be done by adding Signed-off-by: John Doe <john.doe@email.org> to the last line of each Git commit message. The e-mail address used to sign must match the e-mail address of the Git author. Click here to view the Developer Certificate of Origin agreement.

lalithsuresh and others added 12 commits November 17, 2021 19:32
…th identity views

Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
…passes.

Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Amy Tai <amy.tai.2009@gmail.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Lalith Suresh <lsuresh@vmware.com>
Signed-off-by: Athinagoras Skiadopoulos <askiad@stanford.edu>
Signed-off-by: Athinagoras Skiadopoulos <askiad@stanford.edu>
Signed-off-by: Athinagoras Skiadopoulos <askiad@stanford.edu>
Signed-off-by: Athinagoras Skiadopoulos <askiad@stanford.edu>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants