Seunghyun Hwang

Work Experience


System Engineer at Holiday Robotics

~present

    DevOps Engineer at ThorDrive

    ~
    • Design and development of build pipelines
    • Establishment of a company-wide common development environment
    • Design and development of Over-the-air system
    • Design and development of Fleet Management System

    Software Engineer at ThorDrive

    ~
    • Design and development of teleoperation system
    • Design and development of performance-critical components
    • Design and development of multiple company-wide shared libraries
    • Design and development of in-vehicle computer network

    Education


    M.S. in Computer Science and Engineering

    ~
    • Korea University, Seoul, Republic of Korea
    • GPA 4.36/4.5
    • Distributed & Cloud Computing Lab.

    B.S. in Information and Communication Engineering

    ~
    • Yeungnam University, Gyeongbuk, Republic of Korea
    • GPA 4.23/4.5
    • Intern for 2 years at Multimedia Signal Processing Lab.

    Honors and Awards


    Employee of the Year

    ThorDrive

    Best Poster Runne-up

    16th IEEE International Conference on Mobile Ad-Hoc and Smart Systems

    Academic Excellence Scholarship

    ~

    Yeungnam University

    Grand Prize Winner in Samsung Electronics Division

    14th Embedded Software Contest

    Honorable Mention in the App Development Category

    Public Data Utilization Idea Contest

    Publications


    Seunghyun Hwang, Kwangsik Chung, Joonmin Gil, Heonchang Yu, Eunyoung Lee

    Efficient State Maintenance in Serverless-based Workflow Using Host Storage

    The 3rd International conference on Interdisciplinary research on Computer Science, Psychology, and Education (ICICPE 2019), 2019. pp.31-34.

    Seunghyun Hwang, Heeseock Choi, Heonchang Yu

    Implementation of Low-latency Message Delivery for Serverless based Workflow

    The 16th IEEE International Conference on Mobile Ad-Hoc and Smart Systems (IEEE MASS 2019), 2019. pp.170-171. 10.1109/MASSW.2019.00044.

    Seunghyun Hwang, Jihun Kang, Heonchang Yu

    Study on Runtime Interface for Cold Start mitigation on Serverless based Workflow Execution

    Proceedings of the Korea Information Processing Society Conference, 2019. pp.649-652. 10.3745/PKIPS.y2019m10a.649.

    Seunghyun Hwang, Jihun Kang, Kwang-Sik Chung, Heonchang Yu, Joonmin Gil

    Tepid Start: Managing Strategy for Idle Serverless Container and Implementation

    Proceedings of the Korea Information Processing Society Conference, 2019. pp.15-18. 10.3745/PKIPS.y2019m05a.15.

    Seunghyun Hwang, Jihun Kang, Kwang-Sik Chung, Heonchang Yu

    Analysis of Service Restart Time on the Docker Container in IoT Environment

    Proceedings of the Korea Information Processing Society Conference, 2018. pp.964-967. 10.3745/PKIPS.y2018m10a.964.

    Seunghyun Hwang, Bongwoo Bak, Jaehak Lee, Heonchang Yu

    Analysis to Impact of Monitoring interval on Performance of Virtual Machine in Cloud Environments

    Proceedings of the Korea Information Processing Society Conference, 2018. pp.260-261. 10.3745/PKIPS.Y2018M05A.260.

    정호열, 김주곤, 황승현

    Module for Video Processing, Aparratus and Method for Video Output

    Patent Application in South Korea, 2018. 10.8080/1020170079328.

    Experience



    2024

    GoLang gRPC Work

    I designed and implemented a system that stores information about vehicles manufactured and delivered to customers in a database, enabling administrators to easily check each vehicle's status and warranty period. Customers can use the web-based operations system to monitor the real-time status of their vehicles in operation and remotely control them when necessary. The system is flexibly designed to be deployable as a cloud-based SaaS, on-premise, or even in air-gapped environments.

    ...read more

    GoLang gRPC ArgoCD Kubernetes Work

    I designed and implemented an OTA (Over-The-Air) system that identifies the software and firmware versions installed on autonomous vehicles from the server and securely delivers the latest updates. The in-vehicle software is distributed as containerized applications and runs on a lightweight Kubernetes environment installed on each vehicle. Updates are managed using ArgoCD, allowing seamless adoption of ArgoCD’s built-in deployment strategies. Users can also automate declarative deployments and version control as needed.

    ...read more
    2023

    Virtual File System

    C++ Personal Pinned lesomnus/vfs

    This library provides a virtual file system with the interface of std::filesystem and supports file mounting, chroot, Union FS, and more. It is used to prevent unintended manipulation of the file system with incorrect paths.

    2022

    Schema Description Framework

    C++ Personal Pinned lesomnus/cray

    This project was started to demonstrate a deep understanding of C++ and an interest in the C++ standard. CRay provides an interface that allows accessing property trees and defining schemas at the same time. The accompanying reporting feature allows users to easily check for incorrect values or types in the configuration file and to verify the overall structure of the document at once. The provided API makes extensive use of templates to prevent users from writing incorrect code.

    C C++ GoLang gRPC gStreamer WebRTC Work

    I designed and developed a teleoperation system for vehicles, taking into consideration user access control, integration of vehicle sensors, low-latency sensor data streaming, and compatibility with multiple vehicles. End-to-end connectivity is simplified by separating the necessary functions for system connection, such as resolving the vehicle's network location and user identification, into broker services. For video streaming, I utilized H.264 and VP8 codecs using gStreamer and allowed the vehicle system to configure gStreamer pipelines, separating specific sensor processing logic from the connection system. I designed a protocol for abstracting the vehicle control layer to accommodate various types of vehicles. The protocol considers real-time performance and includes a latency detection mechanism.

    Container Image Dependency Management Tool

    GoLang OCI Personal Pinned mee6aas/clade

    This project was developed in personal time to automate maintaining the latest state of various development environments used in the company. It parses the image dependency information provided by the user to create a dependency graph, and compares the hash of the base image with the remote image repository to list images that are not up to date. When the user inputs a reference to the image they want to build, it retrieves the necessary information and generates a build command.

    C++ Qt PCL Work
    Please note that I did not implemented any calibration algorithms in this project.

    The goal of this project is to estimate the relative pose of each sensor from the data acquired from various types of sensors installed on the vehicle. I designed a common device interface for processing various types of sensor data and developed a pipeline that allows sensor data to be transmitted in real-time up to the algorithm execution stage.

    2021

    Code Interview Management System

    TypeScript GoLang Redis Docker PostgreSQL Kubernetes Helm gRPC React Vite Personal Pinned

    This project was carried out in personal time to effectively manage the increasing demand for code interviews in the workplace. Bifrost includes two SPAs for both the interviewer and interviewee. It also includes a mailing system to notify the interview's progress. Interviewers can submit their code and check the results in real-time.

    ...read more

    High-definition 3D Map Creation

    C++ PostgreSQL PCL Work
    Please note that I did not implement any SLAM algorithms in this project.

    The goal of this project is to implement a framework for creating high-precision 3D maps from lidar data. I have implemented a framework that runs modules used for map creation on multiple machines in a distributed manner and provides an interface for accessing the aggregated map information.

    ...read more

    Ansible ROS PTP Work

    I designed a distributed computing system to distribute the load of the autonomous driving system and increase stability. Considering cost optimization and equipment supply, I used multiple network switches with appropriate performance instead of using a single high-performance network switch. To ensure stability, I isolated the network according to the type of sensor instead of stacking network switches, and the computing units are connected to multiple networks using two or more NICs. I used network interface bonding if necessary to meet performance requirements. For installation convenience, I used Ansible, and to reduce internet access costs during installation, I used a single computer as a proxy to cache the necessary data. I also set up a network file system accessible from all computing units for debugging and building on-site. I synchronized the time of all network devices, including sensors, using PTP.

    2020

    TypeScript Node.js Express ROS Work

    This is a module that manages the passenger service state of Air-Ride, which has been introduced at ICN. It is developed to assist the system to operate within expected scenarios by determining whether the state transitions resulting from the interaction of the HMI are appropriate. Additionally, since it periodically transmits the vehicle's status to the airport control center, any situations that require the administrator's intervention can be immediately known at the control center. The state machine diagram created during development represents all the states described in the ICN project, which has greatly facilitating communication within the project. As many modules in the vehicle depend on the passenger service state, it is also widely used in testing the functionality of other modules. Therefore, a feature for reproducing specific scenarios has also been implemented.

    C++ Work

    This is a module that collects multiple Lidar point cloud pieces installed on a vehicle and merges them into one large point cloud. The module estimates the rotational speed of the lidars in real-time to minimize frame overlap and achieve nearly constant output frequency, even with input delays in some of the lidars. If the vehicle's pose information is available, it can correct distortions caused by the vehicle movement speed. For performance, input lidars are processed in separate threads, but the real-time merging results are written to the same memory space. To minimize contention for shared memory, the buffer is divided into small segments and distributed to Lidar processing threads as needed, and implemented as lock-free.

    C++ SIMD Work Pinned

    The purpose of the lidar parser is to construct a point cloud from lidar packets. Although the lidar manufacturer provides a library, I needed custom functionality, and since integrating the functionality with the packet parsing process would result in zero-cost implementation, I decided to implement the driver myself. In addition, the official library integrated not only packet parsing but also the network stack, and since packet structures varied by lidar model, it was inconvenient to use. The library I have implemented provides a unified interface for accessing packet information and shows about 3x better performance than the official library.

    ...read more
    2019

    Development of an Edge Cloud Platform for Real-Time Services in Connected Car Mobility

    C C++ C# GoLang Java Android Docker .NET Pinned

    The objective of the IITP research project conducted in the laboratory is to reduce job latency by using smartphones as edge nodes. My role was to design a fault-tolerant task processing model using a RSU and to implement a communication interfaces between Data Generator, OBU, MEU, and the cloud and these components.

    ...read more

    Workflow Aware Low-latency Serverless Platform

    GoLang TypeScript Node.js Docker gRPC Pinned Awarded Published mee6aas/zeep

    The serverless platform developed for research purposes aims to minimize the cost of messaging between functions and accessing external storage on data dependencies in workflows running in a serverless environment. Two papers related to this project have been published in IEEE MASS 2019and ICICPE 2019, respectively. In addition, it has been used in the IITP research project being carried out in our laboratory.

    ...read more
    2017

    Senior Project

    C++ OpenCV Pinned Published lesomnus/senior-project

    I came up with an idea for my senior project based on my studies in the multimedia signal processing lab, and I thought it was a good idea, so I decided to apply for a patent. The idea is about protecting the presenter's eyesight from the beam of a projector. In summary, by connecting the camera in the direction of the projection area of the projector, separating the background and presenter from the input image, and protecting the eyesight by masking the presenter's area from the projected image.

    ...read more
    2016

    14th Embedded Software Contest

    Node.js JavaScript Tizen MongoDB Express Bluetooth Pinned Awarded

    The goal of this contest is to develop an application for a smartwatch. Our team has developed a cooking assistant application that allows users to view cooking recipes using gestures without using their hands while cooking. We have also implemented a smartphone application that synchronizes with the smartwatch screen. My role was to develop a simple server that responds to recipes and implement the user interface for the smartwatch application. Additionally, I defined the messages and synchronization protocols required for synchronizing the screens between the two applications.

    ...read more

    Project Conducted in the Data Communication Class

    C++ MFC Pinned

    The goal of this project is to implement Point to Point Protocol (PPP) and a 1:1 chat program using it. PPP should include features such as Segmentation & Reassembly, Checksum, Multi-thread, Ring Buffer, Sliding Window Flow Control & Error Control, and Byte Stuffing. I was the only student in this class who implemented Bidirectional Full-Duplex communication with Go-Back-N and Piggyback, and received the highest grade.

    ...read more

    Project Conducted in the OS Class

    C Pintos Pinned

    The goal of project is to implement an O(1) Scheduler to pass the Alarm-priority Test of Pintos, an educational operating system developed by Stanford University. I was the only student in this class who passed the test, and received the highest grade.

    ...read more
    2015

    13th Embedded Software Contest

    webOS Node.js JavaScript Express Pinned

    The goal of this contest is to develop applications on a Smart TV with webOS. Our team developed a card game that can be played on a Smart TV as shared public table, with each player receiving their own card on their personal smartphone. My role was to manage the game state on the server and send real-time updates of the game state to the client to update their UI state. I implemented a responsive web without existing design framework.

    ...read more