{"@attributes":{"version":"2.0"},"channel":{"title":"Home on Jialuo Hu","link":"https:\/\/jialuohu.com\/","description":"Recent content in Home on Jialuo Hu","generator":"Hugo","language":"en-us","lastBuildDate":"Wed, 26 Feb 2025 00:00:00 +0000","item":[{"title":"Certs & Honors","link":"https:\/\/jialuohu.com\/misc\/certs\/","pubDate":"Wed, 26 Feb 2025 00:00:00 +0000","guid":"https:\/\/jialuohu.com\/misc\/certs\/","description":"<h2 class=\"certs-title\">Cisco Certified Network Associate (CCNA)<\/h2>\n<em class=\"certs-date\">Jul 2024<\/em>\n<p>Earners of Cisco CCNA - Implementing and Administering Cisco Solutions (CCNA) have demonstrated knowledge and skills related to network fundamentals, network access, IP connectivity, IP services, security fundamentals, and automation and programmability.<\/p>\n<p>\n\n\n\n\n\n\n\n\n\n\n\n<figure class=\"\">\n\n    <div>\n        <img loading=\"lazy\" alt=\"ccna.png\" src=\"https:\/\/jialuohu.com\/images\/ccna.png\" >\n    <\/div>\n\n    \n<\/figure>\n<\/p>\n<h2 class=\"certs-title\">UCI ICS Honors Program<\/h2>\n<em class=\"certs-date\">Jul 2023<\/em>\n<p>The ICS Honors Program (ICSHP) provides an opportunity for students in any of the Bren School\u2019s majors to carry out a research project under the direction of a Bren School faculty member. Check more details: <a href=\"https:\/\/www.ics.uci.edu\/honors\/\">https:\/\/www.ics.uci.edu\/honors\/<\/a><\/p>"},{"title":"My Folks","link":"https:\/\/jialuohu.com\/misc\/folks\/","pubDate":"Tue, 25 Feb 2025 00:00:00 +0000","guid":"https:\/\/jialuohu.com\/misc\/folks\/","description":"<ul>\n<li><a href=\"https:\/\/www.seongjinyoon.com\/\"><em>David Yoon<\/em><\/a><\/li>\n<li><a href=\"https:\/\/flysandwich.com\/\"><em>FlySandwich<\/em><\/a><\/li>\n<li><a href=\"https:\/\/junhaow.com\/\"><em>ForkerCat<\/em><\/a><\/li>\n<\/ul>\n<blockquote>\n<p>They are AMAZING \ud83d\udc3b<\/p>\n<\/blockquote>"},{"title":"404","link":"https:\/\/jialuohu.com\/projects\/404\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/jialuohu.com\/projects\/404\/","description":"<h2 class=\"heading\" id=\"under-construction\">\n  Under Construction\n  <a class=\"anchor\" href=\"#under-construction\">#<\/a>\n<\/h2>"},{"title":"Distributed Key-Value Store","link":"https:\/\/jialuohu.com\/projects\/dist-kv-store\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/jialuohu.com\/projects\/dist-kv-store\/","description":"<h2 class=\"heading\" id=\"architecture\">\n  Architecture\n  <a class=\"anchor\" href=\"#architecture\">#<\/a>\n<\/h2>\n<p>\n\n\n\n\n\n\n\n\n\n\n\n<figure class=\"\">\n\n    <div>\n        <img loading=\"lazy\" alt=\"arch image\" src=\"https:\/\/jialuohu.com\/images\/dist-kv-store\/architecture.png\" >\n    <\/div>\n\n    \n<\/figure>\n<\/p>\n<h2 class=\"heading\" id=\"ring--backends\">\n  Ring &amp; Backends\n  <a class=\"anchor\" href=\"#ring--backends\">#<\/a>\n<\/h2>\n<p>We applied a structure called &ldquo;Ring&rdquo; which is similar to the Chord Ring to organize our Backends server. The <code>ReplicaBins<\/code> layer turns a loose collection of backend key\u2011value stores into a fault\u2011tolerant, quorum\u2011style shard that behaves like a single logical bin. Each bin is assigned to a primary\u202f+\u202ftwo backups by hashing the bin\u2010name prefix onto a sorted consistent\u2011hash ring. All client operations first map the prefix to its ideal server index; from there the code hunts clockwise until it reaches a live backend, as recorded in the lazily updated reachability table. Writes are turned into idempotent log entries\u2014<code>clock()::action::payload<\/code>\u2014so that even if a server rejoins half\u2011way through, it can replay the log and converge on the same state; helper routines like <code>consume_ks_log<\/code> and <code>consume_kl_log<\/code> fold the log stream into a final key string or list. A successful write to the primary is immediately propagated to the next two live nodes, while reads tolerate failures by linearly probing until a healthy copy is found. Throughout, the logical clocks give a total order, and key names are salted with the shard\u2011hash so that parallel bins never clash.<\/p>"},{"title":"Projects","link":"https:\/\/jialuohu.com\/projects\/main\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/jialuohu.com\/projects\/main\/","description":"<h3 class=\"heading\" id=\"raft-consensus-core--report-here\">\n  Raft Consensus Core \u27a1\ufe0f <a href=\"https:\/\/jialuohu.com\/pdfs\/raft-core.pdf\"><code>Report Here!<\/code><\/a>\n  <a class=\"anchor\" href=\"#raft-consensus-core--report-here\">#<\/a>\n<\/h3>\n<p>(May 2025 - Present)<\/p>\n<ul>\n<li>Developed a Go-based <strong>Raft Consensus Core<\/strong> with <strong>gRPC<\/strong> for inter-node communication, implementing leader election, heartbeat-based failure detection, log replication to ensure <strong>Strong Consistency<\/strong> and <strong>Fault Tolerance<\/strong> across the cluster.<\/li>\n<li>Integrated <strong>Pebble KV Store<\/strong> for durable <strong>Write-Ahead Logging<\/strong> and <strong>LSM Compaction<\/strong>, guaranteeing <strong>Data Persistence<\/strong> and enabling seamless <strong>Recovery<\/strong> after node crashes.<\/li>\n<li>Designed modular StateMachine API for applying and snapshot-based recovery commands, separating consensus mechanism from application logic.<\/li>\n<\/ul>\n<h3 class=\"heading\" id=\"distributed-key-value-store--report-here\">\n  Distributed Key-Value Store \u27a1\ufe0f <a href=\"https:\/\/jialuohu.com\/projects\/dist-kv-store\"><code>Report Here!<\/code><\/a>\n  <a class=\"anchor\" href=\"#distributed-key-value-store--report-here\">#<\/a>\n<\/h3>\n<p>(Apr 2025 - May 2025)<\/p>"}]}}