diff --git a/.custom-words.txt b/.custom-words.txt new file mode 100644 index 0000000..325ae9f --- /dev/null +++ b/.custom-words.txt @@ -0,0 +1,200 @@ +AKE +Antijoin +Arity +BFT +Berkley +Bilinear +Bitswap +Bluesky +CapTP +CAR +CARv +CBOR +CDDL +CDNs +CID +CIDs +CIDv +CRDT +CRDTs +Cambria +Cartesian +DAGs +DBSP +DECO +DHT +DNSLink +DSL +DSLs +DSync +Dataflow +Datalog +Dialog's +EDB +ESVSSE +ETH +EVAC +Encryptions +Equijoin +Eurus +FPP +FQI +Filecoin +Golang +GossipSub +HLS +Homestar +HTTPS +Herbrand +Hexastore +Holmgren +IDB +Ignis +IPFS +IPLD +IPNS +IPVM +Interoperation +Invertible +IoT +JIT +JITs +Krüger +Kubo +Merkle +Multiplay +Namespaces +Netherite +OOM +Performant +Philipp +PomoDB +PomoDB's +PomoFlow +PomoFlow's +PomoLogic +PomoLogic's +PomoRA +PomoRA's +Prolog +PSU +Qri's +RESTful +RQA +Ramen +Requestor's +Roadmap +Runtime +SCCs +Schemas +Semijoin +SEQUEL +Serverless +Sextuple +TLS +TODO +TTL +Tele +UCAN +Ucan +UI +URI +UUIDs +Untimed +Wasm +WASM +WNFS +WSS +WebAssembly +WebNative +WebRTC +WebSockets +XXH +Yesod +ZAWA +ZKSNARK +ZSet +ZSets +Zelenka +aRchive +acyclic +antijoin +antijoins +ary +auth +bilinear +bilinearity +boolean +booleans +cartesian +checkbox's +cmy +counterintuitive +cryptographically +dataflow +datalog +deduplicate +deduplicated +deduplicates +deduplicating +deduplication +dialable +disjunction +encodings +endian +equijoin +equijoins +expressivity +fn +frac +frontends +heterogenous +hoc +impactful +incrementalization +incrementalized +incrementalizing +incrementing +intensional +intra +ipfs +iteratively +labelled +libp +ln +mTLS +memoization +optimality +persistence +preorder +probabilistically +requestor +resampling +rgb +roygbiv +runtime +runtimes +semijoin +semijoins +stateful +stratifications +subcircuit +subcircuits +subcomputation +subcomputations +subgraph +subgraphs +subquery +subtractive +th +timestep +timesteps +topologies +tradeoff +tuple's +unary +undialable +unicast +unsynchronized +uptime +zset diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..909ff4f --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# Default +* @ipvm-wg/fission diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml new file mode 100644 index 0000000..b25de1f --- /dev/null +++ b/.github/workflows/linkcheck.yml @@ -0,0 +1,14 @@ +name: Check Markdown links + +on: push + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + use-quiet-mode: 'yes' + check-modified-files-only: 'yes' + base-branch: 'main' diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml new file mode 100644 index 0000000..8bae25f --- /dev/null +++ b/.github/workflows/spellcheck.yml @@ -0,0 +1,11 @@ +name: Spellcheck Action +on: push + +jobs: + build: + name: Spellcheck + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: rojopolis/spellcheck-github-actions@0.33.0 + name: Spellcheck diff --git a/.spellcheck.yml b/.spellcheck.yml new file mode 100644 index 0000000..a3937d0 --- /dev/null +++ b/.spellcheck.yml @@ -0,0 +1,26 @@ +matrix: +- name: Markdown + aspell: + lang: en + d: en_US + dictionary: + encoding: utf-8 + wordlists: [".custom-words.txt"] + pipeline: + - pyspelling.filters.markdown: + - pyspelling.filters.html: + comments: false + ignores: + - code + - pre + - pyspelling.filters.context: + context_visible_first: true + escapes: \\[\\`~] + delimiters: + - open: '(?s)^(?P *`{3,})$' + close: '^(?P=open)$' + - open: '(?P`+)' + close: '(?P=open)' + sources: + - '**/*.md' + default_encoding: utf-8 diff --git a/README.md b/README.md index 52f54d2..a44f6f6 100644 --- a/README.md +++ b/README.md @@ -1 +1,110 @@ -# research \ No newline at end of file +# IPVM Research + +A short list of relevant research related to [IPVM][ipvm-wg] and the [Homestar][homestar] +implementation of IPVM. It is in no way exhaustive. + +## Distributed Orchestration and Compute Engines + +* [Escaping the Singularity: Side Effects, Front and Center!][side-effects] +* [Parallel Programming Must Be Deterministic by Default][pp-default] + +### Composition & Concurrency Control + +* [Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control][robust-comp] + +### Coordination and Transformation + +* [Ignis: Scaling Distribution-Oblivious Systems with Light-Touch Distribution][ignis] + +### Decentralized Applications + +* [A Programming Paradigm for Reliable Applications in a Decentralized Setting][mogk-thesis] + +### Durable Executions & Virtual Resiliency & Fault-oblivious Workflows + +* [A.M.B.R.O.S.I.A: Providing Performant Virtual Resiliency for Distributed Applications][ambrosia] +* [Durable Functions: Semantics for Stateful Serverless][durable-fns] +* [Netherite: Efficient Execution of Serverless Workflows][netherite] +* [SEQUEL: A Structured English Query Language][sequel] + +### Scheduling + +* [A Taxonomy of Job Scheduling on Distributed Computing Systems][taxonomy] + +## Serverless Computing & Performance + +* [On-demand Container Loading in AWS Lambda][aws-lambda] +* [Serverless Computing: One Step Forward, Two Steps Back][1-step] + +## Wasm + +### Background and Studies + +* [A Comprehensive Study of WebAssembly Runtime Bugs][wasm-study] +* [Bringing the Web up to Speed with WebAssembly][wasm-bringing-up] +* [Characterization and Implication of Edge WebAssembly Runtimes][wasm-runtimes] + +### Compilers, JITs, & Execution Models + +* [Bringing WebAssembly Up to Speed with Dynamic Linking][wasm-dyn] +* [Whose baseline (compiler) is it anyway?][wasm-baseline] + +### Component Model & Wasm Interface Types (WIT) + +* [Component Model design and specification][wasm-component] +* [The wit format][wit] + +### Zero-knowledge proofs + +* [ZAWA: A ZKSNARK WASM Emulator][zawa] + +## Peer-to-Peer Networking & Content-Addressable Storage + +* [Design and Evaluation of IPFS: A Storage Layer for the Decentralized Web][ipfs] +* [GossipSub: Attack-Resilient Message Propagation in the Filecoin and ETH2.0 Networks][gossipsub] +* [IPFS-FAN: A Function-Addressable Computation Network][ipfs-fan] + +## Trust Models + +### Distributed Capability Systems & Auth + +* [Capability Myths Demolished][caps-demolished] +* [CapTP: The Capability Transport Protocol][captp] +* [UCAN Spec][ucan-spec] + +### Privacy-preserving Protocols + +* [DECO: Liberating Web Data Using Decentralized Oracles for TLS][deco] +* [DIDO: Data Provenance from Restricted TLS 1.3 Websites][dido] + + +[1-step]: https://arxiv.org/pdf/1812.03651.pdf +[ambrosia]: https://irenezhang.net/papers/ambrosia-vldb19.pdf +[aws-lambda]: https://arxiv.org/pdf/2305.13162.pdf +[caps-demolished]: https://srl.cs.jhu.edu/pubs/SRL2003-02.pdf +[captp]: http://erights.org/elib/distrib/captp/index.html +[deco]: https://arxiv.org/pdf/1909.00938.pdf +[dido]: https://eprint.iacr.org/2023/1056.pdf +[durable-fns]: https://angelhof.github.io/files/papers/durable-functions-2021-oopsla.pdf +[gossipsub]: https://arxiv.org/pdf/2007.02754.pdf +[ipfs]: https://arxiv.org/pdf/2208.05877.pdf +[ipfs-fan]: https://research.protocol.ai/publications/ipfs-fan-a-function-addressable-computation-network/delarocha2021a.pdf +[homestar]: https://github.com/ipvm-wg/homestar/ +[ignis]: https://nikos.vasilak.is/p/ignis:pldi:2019.pdf +[ipvm-wg]: https://github.com/ipvm-wg +[mogk-thesis]: https://tuprints.ulb.tu-darmstadt.de/19403/1/mogk-dissertation.pdf +[netherite]: https://www.vldb.org/pvldb/vol15/p1591-burckhardt.pdf +[pp-default]: https://www.usenix.org/legacy/event/hotpar09/tech/full_papers/bocchino/bocchino.pdf +[robust-comp]: http://www.erights.org/talks/thesis/markm-thesis.pdf +[sequel]: https://s3.us.cloud-object-storage.appdomain.cloud/res-files/2705-sequel-1974.pdf +[side-effects]: https://queue.acm.org/detail.cfm?id=3099561 +[taxonomy]: https://ieeexplore.ieee.org/document/7425222 +[ucan-spec]: https://github.com/ucan-wg/spec +[wasm-baseline]: https://arxiv.org/pdf/2305.13241.pdf +[wasm-bringing-up]: https://github.com/WebAssembly/spec/blob/master/papers/pldi2017.pdf +[wasm-component]: https://github.com/WebAssembly/component-model +[wasm-dyn]: https://dl.acm.org/doi/abs/10.1145/3412841.3442045 +[wasm-runtimes]: https://arxiv.org/pdf/2301.12102.pdf +[wasm-study]: https://ieeexplore.ieee.org/document/10123536 +[wit]: https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md +[zawa]: https://jhc.sjtu.edu.cn/~hongfeifu/manuscriptb.pdf