에를랑(Erlang) 언어의 핵심인 에를랑/OTP(Erlang/OTP) 가상 머신(VM)의 런타임 시스템(ERTS)이 '알림 기반 패러다임(Notification-Oriented Paradigm, PON)'을 적용하여 완전히 재설계되었습니다. PON-BEAM이라는 이름의 이 새로운 아키텍처는 기존 VM이 가진 비효율적인 폴링(polling) 및 선형 스캔(linear scanning) 방식을 이벤트 기반의 반응형 알림 콜백(notification callbacks) 방식으로 전환하여, CPU 유휴 낭비를 0%로 만들고 핵심 알고리즘 연산의 시간 복잡도를 O(N) 또는 O(N×M)에서 O(1) 상수 시간으로 대폭 개선했습니다.
기존 에를랑 VM은 스케줄러의 주기적인 확인, 타이머 휠(timer wheel)의 틱, 메일박스(mailbox)의 선택적 수신 스캔, 가비지 컬렉션(garbage collection)의 힙 마킹 등에서 지속적인 폴링 루프와 선형 버퍼 스캔에 크게 의존했습니다. 이는 안전하지만 비용이 많이 드는 방식이었습니다. PON-BEAM은 이러한 제어 흐름을 근본적으로 역전시켜, 엔티티(entity)들이 전제(Premises)와 조건(Conditions)을 등록하고, 상태 변화가 발생하면 대기 중인 소비자에게 직접 '발동(Instigation)' 알림을 푸시하는 방식을 사용합니다. 예를 들어, 메시지 수신 시 기존에는 메일박스를 선형으로 스캔했지만, PON-BEAM에서는 등록된 전제와 일치하는 메시지가 도착하면 해당 프로세스에 직접 O(1) 시간으로 알림을 보내 실행을 유도합니다.
이러한 재설계를 통해 모든 내부 ERTS 서브시스템에서 비약적인 성능 향상이 이루어졌습니다. 특히, 10만 개의 메시지가 쌓인 상황에서 선택적 수신(selective receive) 지연 시간은 기존 82,000 마이크로초(µs)에서 12 µs로 6,665배 단축되었습니다. 또한, 유휴 상태의 CPU 낭비는 5~30%에서 0.0%로 사라졌으며, 5만 개의 활성 타이머를 처리하는 체크 횟수는 5천만 회에서 5회로 줄어들어 1천만 배의 효율을 보였습니다. 프로세스 생성 지연 시간은 약 2배 빨라졌고, 스케줄러 재활성화 지연 시간은 10~100 µs에서 약 1 µs로 50배 개선되었습니다. 이러한 변화는 에를랑이 강점을 가진 고동시성(high concurrency) 및 고가용성(high availability) 시스템의 성능을 한 단계 끌어올릴 잠재력을 가지고 있습니다.