Seunghyun Hwang

Work Experience


DevOps Engineer at ThorDrive

~present
  • Design and development of build pipelines
  • Establishment of a company-wide common development environment

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
  • Presented 3 times at company-wide technical seminars

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



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