- Arrived in Cambridge and finialised my HotNets presentation adding some new slides to expand on how existing DNS mechanisms like DNS-SD can interoperate, illustrating the interface to a geodetic query, etc.
- Attended the HotNets Conference.
- Met with Jane Street.
§HotNets Conference
It was great!
§Feedback on the SNS
First and foremost, I recieved some really useful questions, thoughts, and feedback on the SNS.
While presenting I was asked:
- Joshua Smith, Uni of Washington:
- Q: does this support mobile device?
- A: that is not our primary use case with these device with their functional primarily defined by their location, though a limitted form of mobility could be supported through existing mechanisms like CNAMEs.
- Q: what about devices that are inbetween… sometimes static and sometime mobile, e.g. food trucks.
- A: maybe if we didn’t use use locations to name device, but rather as a query mechanism, we could.
- Hari Balakrishnan, MIT:
- Q: how can you manage controlling device’s communication with each other without control over scanning?
- A: well, we can implement that at the application layer
- Q: what about exposing devices existiance?
- A: we can use split-horizon DNS as a coarse grained form of access control
- Q: what about authenticated with identity? (implicit instead of location)
- A: maybe we could retrofit a more sophisticated and fine-grained form of access control onto the DNS
- Q: let’s follow up…
- The next day.
- Q: other device discovery mechanisms like airdrop exposes only to contacts / devices on the same wifi network, but the DNS is public. Is the DNS the right way to expose devices to a specific identity.
- A: The primary use case is static shared devices that you don’t care about exposing the existance of, e.g. printers. But if we could augment the DNS for this kind of identity-based access control, then there’s no reason why not. And get a lot of benefits from extending the and interoperating with the DNS.
- NB: Apparantly the INS had some kind of scheme for this.
- Didn’t catch their name, MIT I think:
- Q: have you made life more difficult for yourself by trying to solve this globally? E.g. this access control. What if it was just deployed in a trusting MIT network
- A: yes probably, but also this will globally interoperate with the entire Internet for end-to-end connectivity. This is HotNets… let’s think big!
Then, over email:
- Srikanth Kandula, MS research:
On 29/11/2023 14:27, Ryan Gibb wrote:
> Sure. I think there's a larger paper trying to get out here, so I'm
> planning on working on this further.
>
> Best,
> -- Ryan
>
> On 28/11/2023 20:48, Srikanth Kandula wrote:
>> I may have missed it; thanks; that would be a very good result to see.
>>
>> ------------------------------------------------------------------------
>> *From:* Ryan Gibb <ryan.gibb@cl.cam.ac.uk>
>> *Sent:* Tuesday, November 28, 2023 2:13:52 PM
>> *To:* Srikanth Kandula <srikanth@microsoft.com>
>> *Subject:* [EXTERNAL] Re: Nice talk
>> Yes! I can't remember if I mentioned it, but my script contained:
>>
>> > We emphasise that this is just one possible scheme, however, and
>> alternatives such as R-trees may be more efficient for sparse locations.
>>
>> We haven't built this in anger yet, but I think when we do it'll
>> inform which to use
>>
>> On 28/11/2023 19:11, Srikanth Kandula wrote:
>>> Was wondering, beyond Hilbert curves, if you've thought about other
>>> geospatial indexing data structures? It would be cool to articulate
>>> which makes a better fit for the DNS context.
At the end of my session, “The architecture of the Internet, and datacenter networks.” there was a panel with all the presenters. It seemed hard for people to find cross-cutting questions as what is relevant to CDNs and datacentres doesn’t have a lot of overlap with naming physical locations. But one question asked the panel chair was on the benefits of and challenges with application level integrations into these systems. My co-panelists didn’t have anything to say on this, so I made the point that the INS had much a much richer query language for expressing names that allowed for better integration with applications (e.g. give me a camera with this specific resolution), but didn’t maintain backwards compatiblty with existing systems (DNS). This is a fudamental challenege in evolving the Internet architecture due to protocol ossification. A key tenent of the SNS is interoperating with existing DNS protocols and applications.
A number of people mentioned what3words, including Vinod Yegneswaran from SRI and Innocent Obi from Uni of Washington. I said that this is just one possible (propretiary, and as Chris Jensen pointed out in the CL fraught with issues) geocoding.
Boris Kodehofe had some comments on P2P name lookup namespces, LDAP and other directory services, He was confused about the geodetic resolution and hilbert curves because he thought this was a layer on top of the DNS somehow, but I clarified this was just a query mechanism interoperating with the DNS. It’s worth making clear the hilbert curves are just an indexing mechanism in future (and other spatial datastructures may be better e.g. R-Trees). He also he uses naming as an example of a distrubted system in his courses.
Innocent Obi liked the global and local resolution. He talked about work he is aware of in Africa in creating digital addresses for otherwise ‘unaddressed’ places. This is another issue with civic encodings… Some of the P2P networking and store and forward stuff was remanisent of Haggle. We also talked about differential privacy as spatial location tells you a lot (K-anonymity for spatial privacy). He recommended finding undergrads of masters to delegeate ideas to. A lot of the telephony location service have been tried to be retrofitted to the Internet with the IETF Geopriv working group.
After these conversations on the first day, I had a thought: what if the civic location heirarchy was just another mechanism to query canonical names?
- Like geodetic queries, a query could be made to a
_loc
subdomain, e.g.fn06._loc.cl.cam.ac.uk
(or a global_loc
TLD). This could return a CNAME for a matching record, e.g.phone.ryan.freumh.org
(or multiple matches in TXT records, as multiple CNAMES breaks the DNS spec). - This would support mobility to the degree that the DNS already does with e.g. dynamic DNS, opening up the devices it could be applicable too mobile and personal devices (pending access control issues… perhaps related to signpost).
§Some people I met
- Innocent Obi, Uni of Washington
- From the SNS query privacy issue spoke about ODNS, ODoH, and DoDO.
- Someone in his lab was the intern who wrote the ODoH paper during an internship at Cloudflare.
- He said I should reach out to Marwan to see if they’re running this year, and to think about what would you if given access to Cloudflare’s network.
- He also said Network Operator Groups (NOGs) are interesting places to see real-world network deployment converstations.
- He is interested in the shape of the network e.g. BGP routes in Africa, which lacks a testbed lab like NA’s Cloud lab or EU’s Geni
- Xi Jiang (Jason), Uni of Chicago
- Presented ‘Generative, High-Fidelity Network Traces’ and Supervised by Nick Feamster.
- Fabbian Ruffus, New York University
- Works with Gianni Antichi
- Gianni Antichi, Politecnico di Milano and Queen Mary University of
London
- We watched the virtual HotNets together in Cambridge in 2021 and we reunited in Boston!
- Malte Schwarzkopf, Brown University
- Gave him his clothes, had a chat, and he introduced me to some people incl Pouya Hamadanian at MIT, someone at MS research working on photonic computing, and Jeffrey Mogul.
- He invited me to give a talk at Brown sometime as he missed my presentation due to teaching obligations.
- Hari Balakrishnan, MIT
- General chair and had some comments on the SNS, given his background in the INS.
- Thomas Krenc, CAIDA
- Didn’t get to speak much as I was presenting next.
- Boris Koldehofe
- Presented ‘The Future is Analog: Energy-Efficient Cognitive Network Functions over Memristor-Based Analog Computations’.
- Will Sussman, very energetic PhD student at MIT
- Has a ‘citymesh’ idea of a P2P network of wireless access points, but it got rejected from HotNets due to a lack of novelty (MANETS etc have been doing this for years).
- They were interested in the SNS as they have a similar issue of wanting to say resolve an email address (a name) to a location (like DNS loc records, the inverse of the SNS).
- Propigating this routing and naming information seems challenging.
- Qiao Xiang who’s on the ACME cs2024 computer science curricula committee https://csed.acm.org/
- Fernando Ramas who was also supervised by Jon asked me to give him the best of luck.
- James Larisch, who gave the Root Store talk, when talking about DNSSEC, said there was a paper https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-chung.pdf that I might be interested in.
- Adrian Zapletai, Delft University of Technology
- A nice fellow second year who gave a presentation on a new metric for equity in fair queueing based on flow lengths.
§Jane Street Meeting
I had a chat with Spencer, George, and John at Jane Street.
I demoed the opam repository to provide non-OCaml dependencies in the OCaml CI with Nix, opam-lang-nix-repo and they really seemed to like it. The UI for this looks like:
ryan@aed:~/projects/opam-lang-repo-nix-test $ cat test.opam
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
synopsis: "A short synopsis"
description: "A longer description"
maintainer: ["Maintainer Name"]
authors: ["Author Name"]
license: "LICENSE"
tags: ["topics" "to describe" "your" "project"]
homepage: "https://github.com/username/reponame"
doc: "https://url/to/documentation"
bug-reports: "https://github.com/username/reponame/issues"
depends: [
"ocaml"
"odoc" {with-doc}
"nix-rustc"
"nix-python" {= "3.7.0"}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/username/reponame.git"
ryan@aed:opam-lang-repo-nix-test $ opam switch create --repos=opam-lang-repo-nix=git+https://github.com/RyanGibb/opam-lang-repo-nix.git,default .
Package test does not exist, create as a NEW package? [Y/n] y
test is now pinned to file:///home/ryan/projects/opam-lang-repo-nix-test (version ~dev)
<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml" {>= "4.05.0"}]
The following actions will be performed:
∗ install base-bigarray base
∗ install base-threads base
∗ install nixpkgs a054d7450768069084142fe597ed2da367813a4a [required by nix-python, nix-rustc]
∗ install base-unix base
∗ install ocaml-system 4.14.1 [required by ocaml]
∗ install nix-rustc 1.30.0 [required by test]
∗ install nix-python 3.7.0 [required by test]
∗ install ocaml-config 2 [required by ocaml]
∗ install ocaml 4.14.1
∗ install test ~dev*
===== ∗ 10 =====
Do you want to continue? [Y/n]
...
NB the nixpkgs revision that provices nix-rustc and nix-python used is shown.
When trying to install versions of rustc and python from a different Nixpkgs revision, in an opam-lang-nix-repo repository where we’ve added a conflict between different Nixpkgs revisions, we get:
ryan@aed:opam-lang-repo-nix-test-conflicting-nixpkgs $ opam switch create --repos=opam-lang-repo-nix=git+https://github.com/RyanGibb/opam-lang-repo-nix.git,default .
Package test does not exist, create as a NEW package? [Y/n] y
test is now pinned to file:///home/ryan/projects/opam-lang-repo-nix-test-conflicting-nixpkgs (version ~dev)
<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml" {>= "4.05.0"}]
[ERROR] Could not determine which packages to install for this switch:
* No agreement on the version of nixpkgs:
- test → nix-python = 3.7.0 → nixpkgs = a054d7450768069084142fe597ed2da367813a4a
- test → nix-rustc = 1.31.0 → nixpkgs = 43bd6a318e151cc724dd5071d8bf0e78d7b579da
...
Recall that this ensures if we’re linking multiple libraries the Nixpkgs package set ensures their compatibility.
We talked about how JS deploys software for a while, and the issues facing them migrating to Nix. It seems to consist of copying statically linked binaries around for the most part. They do not think containers are a solution to this software deployment problem, that is just another way of copying binaries around – the real issue is managing dependancies. Nix provides an integrated dependancy management and sofware deployment framework that they seem to be keen on. Issues facing it’s deployment seem to be boostrapping their monorepo’s build.
§Live blog of HotNets
I’m at HotNets-XXIII in MIT this morning presenting “Where on Earth is the Spatial Name Service?” written with @avsm and @tforcworc (https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_gibb.pdf).
I’ll be live blogging the conference along the way if you’re not attending but want to keep informed about what’s happening starting with,
Session 1: On the process of research’!
Hugo Sadok presented “Of Apples and Oranges: Fair Comparisons in Heterogenous Systems Evaluation”.
- CPU + accelerators are often unfairly compared to CPU + accelerators, when a more fair comparison might be against CPU + CPU
- new hardware should consider cost as well as performance
- how to pick a good cost metric?
- costs should be context-independent, quantifiable, and have end-to-end coverage
- some practical costs might be power, rack-space, no. of cores or LUTs
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_sadok.pdf
some questions were:
- costs are also multidimensonal, how to choose the cost?
- answer: we should come together as a community
- why does context dependancy matter, why not use cost?
- answer: it’s not reproducible
Jeffrey Mogul presented “Physical Deployability Matters”.
- can we deployed a network in the real physical world at scale
- some concerns: racks, power and cooling, cables, components, repair, safe for humans, probability of errors
- a datacentre is always under construction
- at scale, this change must be automated with humans doing the physical work, but software deciding what to do
- how to get better: design for evolution and restore the “digital twins” concept
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_mogul.pdf
Philip Levis presented “A Case Against CXL Memory Pooling”.
big bunch of memory attached for servers with CXL pool, ‘far memory’
caveats: if these things change, and there are other uses of CXL e.g. NICS or memory stores
CXL is a replacement for PCIe: reduces latency and has cache coherence
CXL performance: good bandwidth, but high latency for memory https://arxiv.org/pdf/2303.15375.pdf
cost: reduces RAM, but a CXL pool has a cost (MRSP). A pool breaks even at 140TB RAM, ignoring racking, cabling, etc
complexity: CXL latency is a big problem, it means you need to rewrite your software
bin packing is easy when the bins (modern servers) are small; if you have a big knapsack and a bunch of small items, just throw them all in
questions:
- why not rewrite software?
- transferring large blocks of memory, that’s fine, but if I have a hash table, it doesn’t work very well
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_levis.pdf
Emmanuel Amaro presented “Logical memory pools: Flexible and local disaggregated memory”.
- CXL enables hardware memory dissaggregation
- logical memory pools have benefits over physical pools
question: - coherency? - RDA? way cheaper - we do we need a coherent new fabric
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_amaro.pdf
Panel on Session 1: On the process of research.
Malte Schwarzkopf: There is a role for researchers to play if only we could figure out some of these costs or deployability issues. It’s not a static issue, if researchers come up with a new solution like a static memory pool then maybe google can use it. Costs go down as technology becomes popular. Researchers can come up with ideas that are not immediately feasible today, but could be if some of these variables change.
When does it make sense to move on to the new technology. Adopting new things is hard and requires work. Adopting new things is good and give us performance questions. Related to when should be rewrite our applications question, and Malte’s question.
Hari Balakrishnan on datacentres. Started in the 60s with mainframes, PCs, mobile, cloud. Sensitive about data and where it resides. Are mega-scale datacentre the future, or are smaller more decentralised datacentres the way forward like CPCs.
Session 2: Can LLMs reason about networking problems, and their solution?
Yajie Zhou presented “Towards Interactive Research Agents for Internet Incident Investigation“ using GPT as a domain expert.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_zhou.pdf
Prakhar Sharma is presenting “PROSPER: Extracting Protocol Specifications Using Large Language Models” seems really interesting – extracting a formal specification of a protocol from RFCs.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_sharma.pdf
Note the DNS has an unusually high number of false negatives due to ‘specific symbols that aren’t included in the algorithm’. If they are included, the false positive rate goes up.
Guess my job is safe! For now…
My session, ‘Session 3: The architecture of the Internet, and datacenter networks,’ is next!
Katerina Argyraki is kicking us off with ‘Caching and Neutrality’.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_abdullah.pdf
Just presented the “Where on Earth is the Spatial Name System?” and got some engaging questions including on: - mobility - access control and device existence privacy - and geospatial indexing structures
In ‘Session 4: Measure twice, solve once’ Aryan Taneja presented “Don’t Forget the User: It’s Time to Rethink Network Measurements” and Catalina Alvarez presented “Learning a QoE Metric from Social Media and Gaming Footage” looking to the end-users to inform metrics of the network.
Really interesting paper on using high bandwidth and low latency channels concurrently and how that propagates up the stack to be exposed to the application layer in ‘Session 5: Beam me up, Scotty!’.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_touseef.pdf
Another HoloLens spotted; Bo Han’s using semantic communication to reduce the network cost of holographic communication in ‘Enriching Telepresence with Semantic-driven Holographic Communication’. This is my favourite session so far!
Kicking off day 2 of HotLL… – sorry, HotNets – we have a ‘Session 6: Can LLMs Manage Networks?’.
George Varghese asks ‘How can LLMs work with Verifiers?’ with a feedback loop inspired by Ramanujan and Hardy’s theorising and verifying loop.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_mondal.pdf
In ‘Session 7: What should we worry about when managing congestion?’ Adrian Zapletal proposes optimizing for flow completion times instead of flow rate fairness – equity over fairness. Serhat Arslan took a very similar approach, ‘full speed then idle’ over ‘instantaneous fairness’ to improve the energy usage of congestion control algorithms.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_zapletal.pdf
‘How I Learned to Stop Worrying About CCA Contention’ led to a spirited discussion on whether congestion control algorithm contention is a real issue. Akshay Narayan posits that congestion control algorithm contention is not an issue in practice and had anecdotal observations to support this.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_brown.pdf
Opponents said that it is important for new applications with higher bandwidth requirements (recall ‘Enriching Telepresence with Semantic-driven Holographic Communication’), resource-constrained environments (e.g. developing countries and on transport), when links go down, and just because it’s not been observed doesn’t mean it’s not occurring.
In session ‘Session 8: New hardware for new networks’ Haoda Wang presented ‘Mars Attacks! Software Protection Against Space Radiation’ using commodity hardware in space with software mechanism for protection against radiation-caused bit-flips.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_wang.pdf
In the final sesion ‘Session 9: Who keeps us safe…?’ Emma Dauterman reconsiders the design of the web from a privacy-first perspective using a private Key-Value store distributed in a CDN to avoid traffic-analysis de-anonymisation.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_dauterman.pdf
And James Larisch concluded with a proposal to shift the responsibility of assigning domain names which certificate authorities are authorised to sign from the CA’s themselves to root stores, proposing General Certificate Constraints to replace name-restrictions. I had an interesting chat with him about the role of CA’s and whether using DNSSEC DANE to distribute TLS certificates is a viable alternative.
https://conferences.sigcomm.org/hotnets/2023/papers/hotnets23_larisch.pdf
§Learnings
How to listen to presentations?
- It can be quite draining to listen to presentations all day, especially in areas you’re not all too familiar with.
- Some mechanism for staying engaged I’ve found to work are:
- Get outside for a short walk a few times throughout the day. And sleep well, stay hydrated, eat healthy, etc.
- Consider how the topic could related to your work, vice versa, or how you might use or work on it otherwise.
Some notes on giving presentations:
- Prepare by practising more and internalise the script you’re written
- Less is more – going into detail on one particular aspect is better than giving a shallow coverage of everything
- Your audience is likely distracted – most good presenters are just reiterating the same 3 or so points again and again
- Tell a story, you want to engage your audience.
- Put bullet point notes on the presentation – a full script is useful for planning but not of much use in giving an engaging presentation