PSDP — 同一言語並列化
既存のアプリケーションに、決定論的並列化を「ソース書き換えなし」で注入する。
PSDP (Phase-Synchronous Deterministic Parallelism) は、既存の Java / C# / Rust / Go / Kotlin ほか 16 言語のアプリケーションに、 ランタイム注入で並列化を導入し、2.97 〜 4.23 倍の高速化を、 1 ビットも結果を変えずに実現する独立製品です。
スライムくん: なんでソースコード書き換えないのに 4 倍速くなるの? ▾
「ソース無変更で 4 倍速」って、ほんと?
- あなたの
OrderBatch.javaは 1 文字も変わらない。git diff してもゼロ。 - ビルド時に PSDP がバイトコードを読んで、並列実行できる箇所を発見。同じ振る舞いの並列版を裏側に「注入」する (Java agent / .NET profiler API / Rust proc-macro など、言語ごとに方式は違う)。
- 実行時、CPU が 1 個なら逐次版が動く。コアが 4 つあれば並列版が走る。あなたが切替コードを書く必要なし。
- 「並列にしたら数値が変わる」のよくある問題は、PSDP 独自の数学的同期メカニズムで理論的に排除 (詳細は特許出願・論文記載、ここでは伏字)。
- 本番で動かすたびに 逐次版と並列版の出力 sha256 が一致 することを bench が確認。違ったら即時 rollback。
つまり: 既存コードに 1 行も触らない / コンパイルし直すだけ / 結果は 1 ビットも変わらない / 4 コアで 4 倍 (より厳密には 2.97 〜 4.23 倍、コア数とアルゴリズム特性に依存)。監査では「コード変更ゼロ」がそのまま強みになります。
対応言語
同一言語内で「逐次版 → 並列版」の対を生成します。 エンタープライズから組込・科学計算系まで、16 言語に対応。
| エンタープライズ | Java 8 / 17 / 21 · C# · Kotlin (+coroutines) · Scala |
|---|---|
| システム | Rust · Go · C / C++ · Swift |
| スクリプト | Python · Node.js · PHP |
| 関数型 / 科学計算 | Clojure · Erlang · Common Lisp · FORTRAN |
用途別ユースケース
金融トレーディングシステム
夜間バッチ・リスク計算を並列化、ウィンドウを 1/3 に短縮しつつ「1 円も狂わない」 bit-exact 保証。SAFETY_MAX プロファイルで監査要件を満たす。
規制業界の Java/C# 並列化
J-SOX / SEC 要件下での金融・保険の Java / C# 基幹を、ハッシュ連鎖監査付きで並列化。 結果不変保証により、再計算 / 比較 / 監査が成立する。
クラウドコスト削減
既存ワークロードを 3 〜 4 倍に高速化 = インフラ費用を 1/3 に。 AWS / GCP / Azure のインスタンスサイズ・台数を、コード変更なしで圧縮できる。
HFT (高頻度取引)
低レイテンシ要件下でのオーダー処理・市場データ並列化。GAME_MIN プロファイルで 安全機構を最小化、フレーム時間最優先。
科学計算 / シミュレーション
FFT / Conv2D / LU 分解 等の数値計算を bit-exact 並列化。「並列にしたら 結果が違うので比較できない」というよくある問題を排除する。
ML 推論加速
学習済みモデルの推論パイプラインを並列化。決定論性保証により、 A/B 比較・回帰検証・セキュリティ監査と両立する。
仕組み — 数学的同期による bit-exact 並列化
並列実行が逐次実行と同じ結果を返すための充分条件を、関係作用素に基づく PSDP 独自の数学的同期メカニズムから導出します。 実行時にこの条件が一定閾値以下に保たれるよう同期を強制し、 数値ズレの上界を解析的に与えます。これにより「並列にすると数値が変わる」という よくある現象を理論的に排除できます。 (理論の詳細は特許出願・公開論文をご参照ください。本ページではマル秘部分を伏字としています。)
// PSDP 適用例(OrderBatchProcessor_PSDP.java、抜粋) // ・元の逐次コード (OrderBatchProcessor_ORIGINAL.java) と // 入出力 sha256 が完全一致することを bench で検証 public class OrderBatchProcessor { public Result process(List<Order> orders) { return orders.parallelStream() // 並列化はここだけ .map(this::settle) .collect(PSDP.phaseSyncReduce(...)); // 位相同期 reduce } }
並列化の差分は API 呼び出し数行のみ、ロジック書き換え不要。 逐次版と並列版の出力 sha256 が一致することを Bench が回帰検証します。
技術仕様
- 注入方式ランタイム注入。ソースコード書き換え不要、再ビルドのみで適用。
- bit-exact 保証逐次版と並列版の出力 sha256 完全一致。「並列化で結果が微妙に変わる」典型的失敗モードを排除。
- 数学的同期保証PSDP 独自の同期条件を実行時に強制し、数値ズレの上界が代数的に出る (理論詳細は伏字)。
- ハッシュ連鎖監査FNV1a64 + SHA-256 monotonic chain。改ざん 1 byte で検出 (DETECTED)。後付け編集不可。
- フォールトインジェクション ロールバック90/90 シナリオで barrier 違反ゼロ、tombstone 方式で過去状態復元。
- 11 安全機構請求項 29-32 で網羅、安全度 5 プロファイル (GAME_MIN〜SAFETY_MAX) で用途別調整。
実証データ
| カテゴリ | kernel | 速度向上 | 備考 |
|---|---|---|---|
| Compute | NENC (numerical equivalence) | 3.38 × | cores 数に対しほぼ線形、CPU bound |
| Graph | GRA (graph kernels) | 2.17 × | メモリ帯域で頭打ち、bit-exact 維持 |
| Database | TPC (transaction) | 1.02 × | I/O bound、ただし結果不変を保証 |
| SIMD | svt_av1_quantize_fp (AVX-512) | 3072 / 3072 | bit-exact PASS、AVX2 比 ±5% (memory-bound) |
378 runs all bit-exact (100% PASS) / 90/90 fault-injection rollbacks は PSDP Paper JP v5d (910 KB PDF、2026-03-04) で詳説。
競合との対比
| Intel TBB | 並列化フレームワークだがコード書き換え必須、bit-exact 保証なし。 PSDP はソース無変更 + bit-exact + 監査証跡。 |
|---|---|
| OpenMP | pragma ベースで明示注釈必須、結果再現性は実装依存。 PSDP はランタイム注入 + 結果不変保証 + 監査適合。 |
| Java parallelStream | 結果順序が非決定的、reduce の浮動小数演算で再現性なし。 PSDP は phaseSyncReduce で reduce 順序も決定論。 |
| C# Parallel.ForEach | 同上、副作用順序が非決定。PSDP は同言語内で bit-exact 並列を提供。 |
| GPU 並列 (CUDA / Metal) | 言語跨ぎが必要、結果がアーキ依存。 PSDP は同一言語内・同一バイナリで完結、CPU で動く。 |
ライセンス
| SlimeNENC 顧客 | PSDP ツール (converter / 開発者ツール) は無料導入権付き。 PSDP ランタイム (本番稼働分) は 変換費用の 2%/年のみ。 契約再交渉不要 (同一特許 2026-046620)。 |
|---|---|
| 直販 | ランタイム課金型、別途価格。Edition は Trial / Individual / Corporate / OEM の 4 段。 |
| 方式 | Ed25519 署名 license + 3-hop air-gap activation (金融機関向け)。 |
| license server | license.javatel.jp (AWS Lightsail、HSTS / OCSP stapling) |
特許
- 特願 2026-046620 (PSDP コア / Phase-Synchronous Deterministic Parallelism)
- 特願 2026-046625 (位相同期実装、11 安全機構、請求項 29-32)
- 追加出願準備中 (SIMD / GPU 拡張、SlimeSyCUDA)
