{"id":13598705,"url":"https://github.com/PlatformLab/Homa","last_synced_at":"2025-04-10T09:32:02.469Z","repository":{"id":45621731,"uuid":"130009242","full_name":"PlatformLab/Homa","owner":"PlatformLab","description":"Low-Latency Data Center Network Transport","archived":false,"fork":false,"pushed_at":"2022-11-09T20:19:40.000Z","size":687,"stargazers_count":220,"open_issues_count":6,"forks_count":28,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-31T21:42:46.179Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PlatformLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-18T05:37:23.000Z","updated_at":"2025-03-16T17:39:21.000Z","dependencies_parsed_at":"2022-08-26T01:22:57.396Z","dependency_job_id":null,"html_url":"https://github.com/PlatformLab/Homa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatformLab%2FHoma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatformLab%2FHoma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatformLab%2FHoma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlatformLab%2FHoma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PlatformLab","download_url":"https://codeload.github.com/PlatformLab/Homa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248191769,"owners_count":21062567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T17:00:55.231Z","updated_at":"2025-04-10T09:31:57.455Z","avatar_url":"https://github.com/PlatformLab.png","language":"C++","readme":"# Homa\n\nAn implementation of the Homa transport protocol as a C++ userspace library.\n\n*(Note: this repo is no longer under active development and the implementation is\nstill at a relatively early stage (see below); for a more production-ready\nversion of Homa, check out the Homa Linux kernel module:\n[PlatformLab/HomaModule](https://github.com/PlatformLab/HomaModule))*\n\n## What is the Homa transport protocol?\n\nHoma is a new transport protocol for datacenter networks developed at the\n[Stanford PlatformLab](https://platformlab.stanford.edu). Homa provides\nexceptionally low latency, especially for workloads with a high volume of very\nshort messages, and it also supports large messages and high network\nutilization. A complete description of Homa can be found in this \n[paper](https://arxiv.org/abs/1803.09615). A version of this was published in\nACM SIGCOMM 2018.\n\n## What is this implementation?\n\nThis project aims to provide a implementation of the Homa transport protocol\nthat can be included by applications as a C++ library and can run completely in\nuserspace, bypassing the kernel for the best possible performance.\n\nThe implementation built in two layers:\n  1. a \"Packet Driver\" which provides simple unreliable packet send/receive, and\n  2. the Transport which implements the Homa protocol using packet send/receive.\n\nThis project provides a [DPDK](https://www.dpdk.org) based implementation of a\nDriver which allows high performance packet processing for linux-based systems\nwith a range of NICs. The Transport is Driver agnostic so other environments can\nbe supported by building additional drivers.\n\n## What is the current state of this implementation?\n\nThis implementation should be close to feature complete or at least runnable.\nThe interface, however, is still in flux and thus not stable to develop against.\nAdditionally, more testing needs to be done to ensure the implementation works\nas expected.\n\n## Quick Start\n\n### Dependencies\n\nRequired:\n  * CMake (\u003e= 3.11)\n  * DPDK (18.11)\n  \nOptional:\n  * Doxygen\n  * pthreads\n\n### Download\n\n```\ngit clone https://github.com/PlatformLab/Homa.git\n```\n\n### Build\n\nFrom the `Homa` project directory:\n```\ncmake -E make_directory build\ncmake -E chdir build cmake ..\ncmake --build build\n```\n\n### Install (default install prefix)\n```\nsudo cmake --build build --target install\n```\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPlatformLab%2FHoma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPlatformLab%2FHoma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPlatformLab%2FHoma/lists"}