Skip to content
View David-deng-yeah's full-sized avatar
  • National University of Singapore
  • Singapore
Block or Report

Block or report David-deng-yeah

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
David-deng-yeah/README.md

Profile

Overview

Anurag's GitHub stats

Recent projects

Operating System Engineering: MIT 6.S081

  • timeline: Sep 2023 ~ Now
  • Project Description: Read and use GDB tools to debug xv6 source code, understand the implementation of operating system-related technologies, and make modifications based on this to improve system performance.
  • Speed up system calls: Add kernel page tables to user processes to speed up user-level and kernel-level message passing.
  • Reducing lock contention: Reducing the lock granularity by performing CPU memory stealing and building hash tables, thus reducing the lock contention between the memory allocators and block caches, improving the system performance.
  • Utilize lazy allocation and cow fork techniques to spread the time overhead of large chunks of memory and improve response time.
  • Understand user-kernel communication and add several system calls such as mmap, munmap etc.

PostgreSQL Source Code Retrofitting

  • timeline: Jul 2023 ~ Sep 2023
  • Project description: Deeply study the storage management, memory management, indexing, concurrency control and other technologies in PostgreSQL source code to realize the following functions:
  • Add new type IntSet: Utilize plug-in mechanism to customize IntSet data types, write structures, IO functions and operators, and compile them into shared libraries for database loading. Handling large chunks of data by compressing and storing large field values in TOAST tables associated with user tables through TOAST technology;
  • Symmetric hash: Improving the hash join process in PostgreSQL by adding symmetric hash algorithms to realize symmetric hash joins and avoid blocking in the hash table construction phase;
  • Dirty read plugin: Implementing a dirty read plugin with the help of the MCCC mechanism to obtain visible tuples based on a given transaction number and to realize transaction execution history backtracking.

Cloud-native high-performance video website

  • timeline: Apr 2023 ~ Jul 2023
  • Project Description: Developed an online video website, with 3 microservice modules: user module, video module, comment module. Service registration and kv configuration acquisition between the modules is done through consul and k8s is used for container orchestration.
  • login authentication: Unified authentication and single sign-on (SSO) based on grpc+jwt; implemented RBAC rights management model.
  • Log Monitoring and Alerting: Use the logrus framework to encapsulate logs and use middleware to intercept log messages and send them to RabbitMQ for logging. Based on Prometheus and Grafana to achieve monitoring alerts and metrics visualization, such as CPU occupancy, QPS, and so on.
  • Automated Deployment: project to automate build, test and deployment. With dependency format checking, code format checking, code static checking and so on.
  • Performance Optimization: Using Jmeter and pprof tools, the video leaderboard on the home page of the website has been tested and iterated with three stress tests, from the sorting of videos based on MySQL and go Map to the final choice of redis Zset for implementation, the 95th percentile of the leaderboard response time with the Throughput is optimized from 2922ms and 47.47qps to 183ms and 73.607qps, which is an improvement of 93.73% and 55.06% respectively

微信图片_20230908000144

Simple Tiktok - ByteDance Youth Training Camp

  • timeline: Jan 2023 ~ Mar 2023
  • Project description: Implemented a minimalist version of Tiktok backend, with video push, video submission, video likes, video comments and other functions.
  • Work content: Use JWT for user token validation, Consul for service discovery and service registration, as well as KV reading of configuration files, and Gorm for ORM operations on MySQL.
  • Microservices Architecture Design: Adopting the single-case pattern, a manager class is defined in each microservice to manage three resources: database, cache and object storage.
  • Using Redis to cache hot data such as video like information, video URL.; Using MySQL to persist the cold data; add random offsets for the expiration time of the hot data to alleviate the cache avalanche problem

4d365cb5e9ed565fc4112093e6f0f620 (2)

Pinned Loading

  1. PostgreSQL-Retrofitting PostgreSQL-Retrofitting Public

    C 5

  2. MIT-6.824-distributed-system MIT-6.824-distributed-system Public

    Go 3

  3. 2022-MIT-6.S081-OS-Engineering 2022-MIT-6.S081-OS-Engineering Public

    3

  4. JirafaYe/tiktok JirafaYe/tiktok Public

    基于 grpc RPC微服务 + gin HTTP服务完成的第5届字节跳动青训营-极简抖音后端项目

    Go 18 5

  5. ISY5001/AnimeRecommendation_backend ISY5001/AnimeRecommendation_backend Public

    Python 2

  6. ISY5001/AnimeRecommendation_frontend ISY5001/AnimeRecommendation_frontend Public

    Vue 2