DuaLip-GPU Technical Report

이 논문은 대규모 선형 계획법 문제를 해결하기 위해 기존 CPU 기반 DuaLip 솔버의 한계를 극복하고, 커스텀 GPU 실행 기법과 재설계된 아키텍처를 통해 최소 10 배의 속도 향상을 달성한 새로운 솔버를 제안합니다.

Gregory Dexter, Aida Rahmattalabi, Sanjana Garg, Qinquan Song, Ruby Tu, Yuan Gao, Yi Zhang, Zhipeng Wang, Rahul Mazumder

게시일 2026-03-06
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

듀얼립-GPU: 거대한 의사결정 문제를 해결하는 '초고속 레이서'

이 논문은 링크드인 (LinkedIn) 의 엔지니어들이 개발한 **'듀얼립-GPU (DuaLip-GPU)'**라는 새로운 소프트웨어에 대한 기술 보고서입니다. 이걸 쉽게 설명해 드릴게요.

1. 문제: 거대한 퍼즐을 CPU 로 맞추느라 지쳤습니다

링크드인 같은 거대 기업에서는 매일 수백만 명의 사용자와 수천 개의 광고나 콘텐츠를 어떻게 배분할지 결정해야 합니다. 예를 들어, "사용자 A 에게 광고 X 를 보여줄까, 광고 Y 를 보여줄까?"를 결정하는 건 단순한 선택이 아니라, 수백만 개의 조건을 동시에 만족시켜야 하는 거대한 **수학적 퍼즐 (선형 프로그래밍)**입니다.

과거에 사용하던 시스템 (이전 버전의 듀얼립) 은 이 퍼즐을 **CPU(일반 컴퓨터 두뇌)**로 풀었습니다. 하지만 문제는 두 가지였습니다:

  1. 속도: 퍼즐 조각이 너무 많아서 CPU 가 땀을 흘리며 천천히 풀었습니다.
  2. 유연성: 퍼즐 규칙이 조금만 바뀌어도 (예: 새로운 광고 조건 추가), 시스템을 통째로 고쳐야 해서 개발자들이 고생했습니다.

2. 해결책: GPU(그래픽 카드) 를 빌려와서 '레이싱'을 시키다

연구팀은 이 문제를 해결하기 위해 **GPU(게임이나 영상 처리에 쓰이는 강력한 병렬 처리 칩)**를 활용하기로 했습니다. GPU 는 동시에 수천 개의 계산을 할 수 있어, 이 거대한 퍼즐을 10 배 이상 빠르게 풀 수 있게 되었습니다.

하지만 단순히 GPU 를 끼우는 것만으로는 부족했습니다. GPU 가 퍼즐을 잘 풀 수 있도록 **새로운 방식 (아키텍처)**을 설계해야 했습니다.

3. 핵심 아이디어 3 가지 (비유로 설명)

① 레고 블록처럼 조립 가능한 설계 (프로그래밍 모델)

  • 과거: 마치 맞춤형 맞춤 옷을 만드는 것처럼, 새로운 규칙이 생기면 옷을 다 뜯어고쳐야 했습니다.
  • 현재: 레고 블록처럼 만들었습니다.
    • 목표 (Objective): 무엇을 달성할지 정하는 블록.
    • 제약 (Projection): "이건 안 돼"라는 규칙을 지키는 블록.
    • 최적화 (Optimizer): 블록을 어떻게 움직여야 최선인지 계산하는 블록.
    • 이제 새로운 규칙이 생기면, 기존 블록을 그대로 두고 새로운 레고 블록 하나만 끼우면 됩니다. 코드를 통째로 고칠 필요가 없습니다.

② 도로 정비를 통한 속도 향상 (알고리즘 개선)

수학적으로 퍼즐을 풀 때, 길이가 제각각인 도로 (데이터) 를 그대로 달리면 차가 흔들립니다. 연구팀은 두 가지 도로 정비를 했습니다.

  • 길이를 맞추기 (Preconditioning): 모든 도로의 너비를 일정하게 맞춰서, 차가 한 번에 빠르게 달릴 수 있게 했습니다.
  • 가속과 감속 조절 (Regularization): 처음엔 빠르게 달렸다가 (큰 규칙 적용), 목표에 가까워지면 천천히 정밀하게 조정하는 (규칙을 줄이는) 전략을 썼습니다. 이렇게 하면 처음엔 빠르게, 나중엔 정확하게 도착할 수 있습니다.

③ GPU 군단의 협력 (시스템 최적화)

수천 개의 GPU 가 함께 일할 때, 서로 대화하는 시간이 길면 속도가 느려집니다.

  • 과거: 모든 GPU 가 서로의 모든 계산 결과를 주고받느라 시간이 걸렸습니다.
  • 현재: 각 GPU 가 자신의 일 (사용자 그룹별 계산) 을 끝내고, 결과만 간단히 합쳐서 다시 나누어 줍니다. 마치 우편배달부들이 각자 구역을 돌다가, 최종 주소지 (중앙 서버) 에만 편지 한 통씩만 모아 보내는 것과 같습니다. 이렇게 해서 통신 시간을 극도로 줄였습니다.

4. 결과: 압도적인 속도 차이

실험 결과, 이 새로운 시스템은 기존 CPU 시스템보다 최소 10 배, 최대 10 배 이상 빠른 속도로 문제를 해결했습니다.

  • 비유: 과거에는 로 100km 를 가는 데 하루가 걸렸다면, 이제는 초고속 열차를 타고 1 시간도 안 걸려 도착한 것입니다.
  • 또한, GPU 를 여러 대 추가할수록 속도가 비례해서 빨라져서, 문제가 커져도 걱정하지 않아도 됩니다.

5. 결론: 왜 이것이 중요한가요?

이 기술은 단순히 "계산이 빨라졌다"는 것을 넘어, 더 복잡하고 새로운 비즈니스 규칙을 실시간으로 적용할 수 있게 해줍니다.

  • 링크드인에서는 이 시스템을 통해 사용자에게 더 적합한 콘텐츠를 보여주고, 광고주에게는 더 효율적인 예산 분배를 할 수 있게 되었습니다.
  • 앞으로는 이 기술이 광고 배분뿐만 아니라, 물류, 교통, 에너지 관리 등 거대한 자원을 효율적으로 나누는 모든 분야에 적용될 수 있을 것입니다.

한 줄 요약:

"기존의 느리고 딱딱한 계산 방식을, GPU 의 강력한 힘을 빌려 레고처럼 유연하게 조립하고, 군대처럼 협력하게 만든 초고속 의사결정 시스템을 개발했습니다."