{"id":36688511,"url":"https://github.com/converged-computing/ebpf-hpc","last_synced_at":"2026-01-12T11:17:11.005Z","repository":{"id":244703275,"uuid":"815794650","full_name":"converged-computing/ebpf-hpc","owner":"converged-computing","description":"Learning ground for eBPF in the context of HPC applications (under development)","archived":false,"fork":false,"pushed_at":"2024-06-16T20:08:54.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-10T05:36:58.913Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/converged-computing.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-16T07:12:42.000Z","updated_at":"2024-06-25T07:49:16.000Z","dependencies_parsed_at":"2024-06-16T21:25:35.028Z","dependency_job_id":"9e972091-7733-4b88-bf78-1690be4ee25d","html_url":"https://github.com/converged-computing/ebpf-hpc","commit_stats":null,"previous_names":["converged-computing/ebpf-hpc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/converged-computing/ebpf-hpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Febpf-hpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Febpf-hpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Febpf-hpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Febpf-hpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/converged-computing","download_url":"https://codeload.github.com/converged-computing/ebpf-hpc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Febpf-hpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T10:58:46.209Z","status":"ssl_error","status_checked_at":"2026-01-12T10:58:42.742Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-01-12T11:17:10.336Z","updated_at":"2026-01-12T11:17:11.000Z","avatar_url":"https://github.com/converged-computing.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ebpf-hpc\n\nWe are trying to learn about ebpf and create a development environment for ebpf programs that can be ported into Kubernetes.\nWe can start with examples from [cilium/ebpf](https://github.com/cilum/ebpf). \n\n## Goals\n\n - Hari wants to profile I/O, with a more lightweight method, granted it can provide minimally the same information.\n - Vanessa wants to profile stuff in Kubernetes, along with single runs of HPC applications on a large VM, more generally and with a larger scope (beyond I/O).\n\n## Organization\n\nWhat is here?\n\n - [lima](lima): instructions for running ebpf in a VM (and you can look at the VM to see setup)\n - [meetings](meetings): includes meeting notes, planning, etc.\n - [bcc](bcc): experimenting with the bpf compiler collection ([bcc](https://github.com/iovisor/bcc))\n - [kubernetes](kubernetes): understanding how eBPF fits into Kubernetes.\n\n## Learning\n\nI was looking at [the MangoIO]() paper recommended by Hari, and interested to see what calls I could get with ebpf. Very superficially I found a quick answer to that:\n\n```bash\nsudo apt install auditd\nausyscall --dump\n```\n\nThe tool [bpftrace](https://github.com/bpftrace/bpftrace/tree/master?tab=readme-ov-file#one-liners) has a lot of \"one liners\" along with [scripts](https://github.com/bpftrace/bpftrace/tree/master?tab=readme-ov-file#tools) that can be written.\n\n\u003cdetails\u003e\n\n\u003csummary\u003eOutput of ausyscall\u003c/summary\u003e\n\n```console\nUsing x86_64 syscall table:\n0\tread\n1\twrite\n2\topen\n3\tclose\n4\tstat\n5\tfstat\n6\tlstat\n7\tpoll\n8\tlseek\n9\tmmap\n10\tmprotect\n11\tmunmap\n12\tbrk\n13\trt_sigaction\n14\trt_sigprocmask\n15\trt_sigreturn\n16\tioctl\n17\tpread\n18\tpwrite\n19\treadv\n20\twritev\n21\taccess\n22\tpipe\n23\tselect\n24\tsched_yield\n25\tmremap\n26\tmsync\n27\tmincore\n28\tmadvise\n29\tshmget\n30\tshmat\n31\tshmctl\n32\tdup\n33\tdup2\n34\tpause\n35\tnanosleep\n36\tgetitimer\n37\talarm\n38\tsetitimer\n39\tgetpid\n40\tsendfile\n41\tsocket\n42\tconnect\n43\taccept\n44\tsendto\n45\trecvfrom\n46\tsendmsg\n47\trecvmsg\n48\tshutdown\n49\tbind\n50\tlisten\n51\tgetsockname\n52\tgetpeername\n53\tsocketpair\n54\tsetsockopt\n55\tgetsockopt\n56\tclone\n57\tfork\n58\tvfork\n59\texecve\n60\texit\n61\twait4\n62\tkill\n63\tuname\n64\tsemget\n65\tsemop\n66\tsemctl\n67\tshmdt\n68\tmsgget\n69\tmsgsnd\n70\tmsgrcv\n71\tmsgctl\n72\tfcntl\n73\tflock\n74\tfsync\n75\tfdatasync\n76\ttruncate\n77\tftruncate\n78\tgetdents\n79\tgetcwd\n80\tchdir\n81\tfchdir\n82\trename\n83\tmkdir\n84\trmdir\n85\tcreat\n86\tlink\n87\tunlink\n88\tsymlink\n89\treadlink\n90\tchmod\n91\tfchmod\n92\tchown\n93\tfchown\n94\tlchown\n95\tumask\n96\tgettimeofday\n97\tgetrlimit\n98\tgetrusage\n99\tsysinfo\n100\ttimes\n101\tptrace\n102\tgetuid\n103\tsyslog\n104\tgetgid\n105\tsetuid\n106\tsetgid\n107\tgeteuid\n108\tgetegid\n109\tsetpgid\n110\tgetppid\n111\tgetpgrp\n112\tsetsid\n113\tsetreuid\n114\tsetregid\n115\tgetgroups\n116\tsetgroups\n117\tsetresuid\n118\tgetresuid\n119\tsetresgid\n120\tgetresgid\n121\tgetpgid\n122\tsetfsuid\n123\tsetfsgid\n124\tgetsid\n125\tcapget\n126\tcapset\n127\trt_sigpending\n128\trt_sigtimedwait\n129\trt_sigqueueinfo\n130\trt_sigsuspend\n131\tsigaltstack\n132\tutime\n133\tmknod\n134\tuselib\n135\tpersonality\n136\tustat\n137\tstatfs\n138\tfstatfs\n139\tsysfs\n140\tgetpriority\n141\tsetpriority\n142\tsched_setparam\n143\tsched_getparam\n144\tsched_setscheduler\n145\tsched_getscheduler\n146\tsched_get_priority_max\n147\tsched_get_priority_min\n148\tsched_rr_get_interval\n149\tmlock\n150\tmunlock\n151\tmlockall\n152\tmunlockall\n153\tvhangup\n154\tmodify_ldt\n155\tpivot_root\n156\t_sysctl\n157\tprctl\n158\tarch_prctl\n159\tadjtimex\n160\tsetrlimit\n161\tchroot\n162\tsync\n163\tacct\n164\tsettimeofday\n165\tmount\n166\tumount2\n167\tswapon\n168\tswapoff\n169\treboot\n170\tsethostname\n171\tsetdomainname\n172\tiopl\n173\tioperm\n174\tcreate_module\n175\tinit_module\n176\tdelete_module\n177\tget_kernel_syms\n178\tquery_module\n179\tquotactl\n180\tnfsservctl\n181\tgetpmsg\n182\tputpmsg\n183\tafs_syscall\n184\ttuxcall\n185\tsecurity\n186\tgettid\n187\treadahead\n188\tsetxattr\n189\tlsetxattr\n190\tfsetxattr\n191\tgetxattr\n192\tlgetxattr\n193\tfgetxattr\n194\tlistxattr\n195\tllistxattr\n196\tflistxattr\n197\tremovexattr\n198\tlremovexattr\n199\tfremovexattr\n200\ttkill\n201\ttime\n202\tfutex\n203\tsched_setaffinity\n204\tsched_getaffinity\n205\tset_thread_area\n206\tio_setup\n207\tio_destroy\n208\tio_getevents\n209\tio_submit\n210\tio_cancel\n211\tget_thread_area\n212\tlookup_dcookie\n213\tepoll_create\n214\tepoll_ctl_old\n215\tepoll_wait_old\n216\tremap_file_pages\n217\tgetdents64\n218\tset_tid_address\n219\trestart_syscall\n220\tsemtimedop\n221\tfadvise64\n222\ttimer_create\n223\ttimer_settime\n224\ttimer_gettime\n225\ttimer_getoverrun\n226\ttimer_delete\n227\tclock_settime\n228\tclock_gettime\n229\tclock_getres\n230\tclock_nanosleep\n231\texit_group\n232\tepoll_wait\n233\tepoll_ctl\n234\ttgkill\n235\tutimes\n236\tvserver\n237\tmbind\n238\tset_mempolicy\n239\tget_mempolicy\n240\tmq_open\n241\tmq_unlink\n242\tmq_timedsend\n243\tmq_timedreceive\n244\tmq_notify\n245\tmq_getsetattr\n246\tkexec_load\n247\twaitid\n248\tadd_key\n249\trequest_key\n250\tkeyctl\n251\tioprio_set\n252\tioprio_get\n253\tinotify_init\n254\tinotify_add_watch\n255\tinotify_rm_watch\n256\tmigrate_pages\n257\topenat\n258\tmkdirat\n259\tmknodat\n260\tfchownat\n261\tfutimesat\n262\tnewfstatat\n263\tunlinkat\n264\trenameat\n265\tlinkat\n266\tsymlinkat\n267\treadlinkat\n268\tfchmodat\n269\tfaccessat\n270\tpselect6\n271\tppoll\n272\tunshare\n273\tset_robust_list\n274\tget_robust_list\n275\tsplice\n276\ttee\n277\tsync_file_range\n278\tvmsplice\n279\tmove_pages\n280\tutimensat\n281\tepoll_pwait\n282\tsignalfd\n283\ttimerfd_create\n284\teventfd\n285\tfallocate\n286\ttimerfd_settime\n287\ttimerfd_gettime\n288\taccept4\n289\tsignalfd4\n290\teventfd2\n291\tepoll_create1\n292\tdup3\n293\tpipe2\n294\tinotify_init1\n295\tpreadv\n296\tpwritev\n297\trt_tgsigqueueinfo\n298\tperf_event_open\n299\trecvmmsg\n300\tfanotify_init\n301\tfanotify_mark\n302\tprlimit64\n303\tname_to_handle_at\n304\topen_by_handle_at\n305\tclock_adjtime\n306\tsyncfs\n307\tsendmmsg\n308\tsetns\n309\tgetcpu\n310\tprocess_vm_readv\n311\tprocess_vm_writev\n312\tkcmp\n313\tfinit_module\n314\tsched_setattr\n315\tsched_getattr\n316\trenameat2\n317\tseccomp\n318\tgetrandom\n319\tmemfd_create\n320\tkexec_file_load\n321\tbpf\n322\texecveat\n323\tuserfaultfd\n324\tmembarrier\n325\tmlock2\n326\tcopy_file_range\n327\tpreadv2\n328\tpwritev2\n329\tpkey_mprotect\n330\tpkey_alloc\n331\tpkey_free\n332\tstatx\n333\tio_pgetevents\n334\trseq\n424\tpidfd_send_signal\n425\tio_uring_setup\n426\tio_uring_enter\n427\tio_uring_register\n428\topen_tree\n429\tmove_mount\n430\tfsopen\n431\tfsconfig\n432\tfsmount\n433\tfspick\n434\tpidfd_open\n435\tclone3\n436\tclose_range\n437\topenat2\n438\tpidfd_getfd\n439\tfaccessat2\n440\tprocess_madvise\n441\tepoll_pwait2\n442\tmount_setattr\n443\tquotactl_fd\n444\tlandlock_create_ruleset\n445\tlandlock_add_rule\n446\tlandlock_restrict_self\n447\tmemfd_secret\n448\tprocess_mrelease\n449\tfutex_waitv\n```\n\n\u003c/details\u003e\n\n\n## License\n\nHPCIC DevTools is distributed under the terms of the MIT license.\nAll new contributions must be made under this license.\n\nSee [LICENSE](https://github.com/converged-computing/cloud-select/blob/main/LICENSE),\n[COPYRIGHT](https://github.com/converged-computing/cloud-select/blob/main/COPYRIGHT), and\n[NOTICE](https://github.com/converged-computing/cloud-select/blob/main/NOTICE) for details.\n\nSPDX-License-Identifier: (MIT)\n\nLLNL-CODE- 842614\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconverged-computing%2Febpf-hpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconverged-computing%2Febpf-hpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconverged-computing%2Febpf-hpc/lists"}