エネルギーポテンシャルは観測モデルのもとで成長パイプラインを精密に制御する必要があるー天然資源、電子回路、スタートアップの金脈探しの同型性

Decrypt history, Encrypt future™

エネルギーポテンシャルは観測モデルのもとで成長パイプラインを精密に制御する必要があるー天然資源、電子回路、スタートアップの金脈探しの同型性

エネルギーポテンシャルは、観測モデルのもとで、成長パイプラインを精密に制御しなければ維持できない。差は、消えてなくなるから見えないのではない。背景へ散り、その場の分類のなかへ入るから見えない。川縁の砂利、耕作に向かない黒い土、電解槽の底に溜まる泥は、差が散ったあとの姿である。差をその分類から分ける手順を、観測モデルと呼ぶ。モデルは、理論の名前ではない。砂利を洗う、留分を分ける、泥を溶かす、端子の電圧を帯域を限って測る、といった、媒体の上の手順である。手順がないあいだ、差は砂利であり、泥であり、雑音であり、苦情である。

成長パイプラインとは、同定した差が、届け先の仕事へ着くまでの経路である。天然資源では、砂利の洗浄から結晶の選別まで、鉱石の採掘から着荷まで、源泉から湯口までである。回路では、電源から負荷までの給電と、命令が結果へ到達するまでの実行である。スタートアップでは、同定した需要が、価格を保ったまま同じ顧客へ繰り返されるまでの、決裁と人員と時間である。精密に制御するとは、この経路の制御量を、差の形に合わせて動かすことである。金脈の制御量は採掘幅、斑岩鉱床の制御量はカットオフと処理量、自噴の制御量は揚湯量、回路の制御量は電圧と直列部分とデータを置く場所、スタートアップの制御量は価格、継続、一件の所要時間、承認の一本道である。観測モデルが差を背景のまま見ているとき、動かしているのは砂利の量、コアの数、人数であって、差そのものではない。

形を崩さず、補給の範囲で維持することを、ここでは育てると呼ぶ。差を新たに増やす操作ではない。成長パイプラインの途中で、見つけた差を溶かさない操作である。狭い脈を母岩と混ぜれば品位は希釈される。大きい岩体に薄く散った金属を、脈のように一点だけ掘っても、事業になる体積は取れない。もともとある水頭を、涵養を超えて汲めば泉源が落ちる。ポンプで作っている流れを、はじめからあった流れだとみなすと、ポンプを止めたときに販売も揚水も止まる。

スタートアップの金脈探しは、この制御において、物理的な資源探索と同型である。一つは、散って見える差を同定する観測モデルがあること。もう一つは、同定した差のパイプラインを、その形の制御量で動かすことである。電子回路も、電位差を雑音から分け、分けた電位差を絶縁して負荷まで保つ、という同じ種類の制約を持つ。砂利の運搬、油の滲出、電解の残渣、半導体の雑音は、同じ方程式ではない。同型なのは、制約の種類である。種類の対応は、次の表に一度だけ書く。各節は、その媒体の手順を、その媒体の語で書く。

制約の種類 天然資源 電子回路 スタートアップ
散って見える 川砂利のなかのダイヤモンド。迷惑な黒い土としての油。アノードスライムのなかの金 雑音、オフセット、分解能の下にある電位差 苦情、副作用、平均的な事業の滓に見える需要
同定したあとの形 金脈か、銅の斑岩鉱床か。自噴か、井戸か 信号の振幅と、電源電圧の下限 狭い高単価の反復か、薄い需要の広い体積か。既にある流れか、獲得費で作った流れか
経路で落ちるもの 母岩の混入、ずり、涵養を超える揚湯 絶縁のない母線、配線のジュール損失 共通の決裁、共通の人員、定例への溶出
育てる 脈は選択して掘る。自噴は涵養量以下で取る 電位差を負荷の手前まで高く保つ。下限より下へは下げない 成長コアの決裁、人員、時間を、共通経路から分ける

1. 川砂利、黒い土、槽の底の泥

ゴルコンダのダイヤモンドは、城砦の岩盤から掘られたのではない。城砦は、石の取引、切断、保管の場である。石そのものは、クリシュナ川、ペンナール川、ゴーダーヴァリ川などの川床と、その近くの砂利層から洗って集められた。キンバーライトを出た結晶は、風化に耐え、河川の運搬のあいだに丸みを帯び、比重の近い硬い鉱物と一緒に砂利へ散る。一緒に出てくるのは、緑柱石、トパーズ、ざくろ石、玉髄、水晶の小石である。磨かれる前の結晶は、宝飾品の見た目をしていない。タヴェルニエは、最良の石には緑の皮があり、切ると白く、水がよい、と書いている。川縁でのコントラストは、硬度と光学的性質であって、色の派手さではない。

差が現れるのは、砂利を洗ったあとである。19世紀の記録では、作業は砂利と円礫を掘り出し、石を敷いた小さな方形の水槽へ運んで洗うことだった。乾期を選ぶのは、水を汲み出す費用を避けるためである。洗ったあとに、人が粒を見る。観測モデルは、この洗浄と選別の手順である。砂利を砂利のまま踏んでいるあいだ、結晶は背景の粒径分布のなかにいる。

古代インドの『実利論』には、ダイヤモンドが鉱物として書かれている。国家は、鉱山と宝石をすでに分類していた。したがって、川縁の人々が希少性を知るモデルをまったく持たなかった、という書き方は、この文章では採らない。採るのは、次のことである。砂利としての分類が続いている区画では、石は砂利のまま残り、洗浄と選別が始まった区画でだけ、結晶が砂利から分かれる。ジャン=バティスト・タヴェルニエは、コッルールの鉱床が、約25カラットの石の偶然の発見をきっかけに掘られ始めた、と記している。一つの結晶が、その区画の分類を破った。一次の供給源である岩体は、長く特定されないままだった。回収の場は、岩体そのものではなく、運搬の末に散った砂鉱である。近年の地質学は、ワジュラカルールのキンバーライトと、古い河川の流路を、その運搬の候補にしている。候補が特定されても、川床で見えていたものが砂利であったことまでは変わらない。

石油の染み出しは、別の散り方である。ペンシルベニア北西部のオイルクリークでは、油が岩の割れ目から沖積層を抜け、地面と水面に出ていた。先住民は、川沿いに桶を掘り、表面の油をすくっていた。薬、軟膏、虫除け、儀式に使った、と記録されている。入植者はそれをセネカ油と呼び、世帯に備え、人や馬の関節に塗り、夏には蠅を避けるために馬へ塗った。悪臭が強く、蠅が寄らない、という使い方である。モデルがなかったのではない。あったモデルが、薬と、虫除けと、悪臭であった。

同じ染み出しは、耕作と製塩の側では迷惑であった。西部ペンシルベニアの地図には Petroleum と記され、その表示は、黒い土地が作物に向かないことを示す警告として働いた。塩を採るために掘った井戸へ油が混入し、塩井を駄目にした、という苦情もある。サミュエル・キアは、そうした坑井から出る油を薬として瓶に詰め、のちにピッツバーグでランプ用の留分を取る蒸留へ進んだ。灯火に使える油として染み出しを見るモデルは、鯨油に代わる照明用の燃料が要る、という需要の側から来ている。液体がそこにあることと、灯火の燃料として分類することは、別の観測である。1859年8月27日、エドウィン・ドレークがタイタズビルの南、オイルクリーク沿いで、深さ約69フィート(約21メートル)の井戸から油を汲み上げた。井戸は、表面に散った染み出しの奥にある貯留へ、管を通したものである。牛に害を与える泥だった、という話は、確認できる記録には見あたらない。記録にあるのは、悪臭、耕作に向かない土地、塩井の汚染、そして薬と虫除けとしての利用である。

銅鉱床の金は、散り方がさらにはっきりしている。斑岩銅鉱床では、金は鉱石1トンのなかのごく薄い品位で、銅の硫化物とともに大きな岩体へ散っている。採掘の理由は銅である。金脈を探す観測、つまり割れ目に沿った高品位の脈を目で追う観測では、この金は見えない。見えるようになるのは、銅を取る工程が、金を残渣へ濃集したあとである。

工程は次の順である。鉱石を砕き、浮選にかける。疎水化された銅鉱物が泡へ乗り、脈石の多くは沈む。質量は減り、銅の品位は上がった精鉱になる。精鉱を溶錬すると、銅はマットから粗銅を経て陽極銅になる。金の多くは、スラグへ逃げず、銅の金属の側についていく。ついで電解精製にかける。銅は陽極から電解液へ溶け、陰極へ析出する。金は、銅よりイオン化しにくく、ほとんど溶け出さない。陽極が消耗するとき、金は微細な粒として脱落し、銀、白金族、セレン、テルル、鉛などとともに槽の底へ溜まる。これがアノードスライムである。報告されている発生量は、陰極銅1トンあたりおおよそ5〜10キログラムである。元の鉱石のトン数から見れば、スライムはごく小さい。その小さい泥のなかに、鉱体へ散っていた金が集まる。

スライムは、見た目は泥であり、ヒ素やセレンを含むため、扱いには毒性の管理が要る。金を取る化学処理は、この泥を金の所在として読む手順である。まず銅を除き、セレンを分ける。そのあと金を溶液へ溶かし、溶液から金属へ戻す。伝統的な経路では、溶錬、水溶液処理、電解を組み合わせ、金の回収は工程の後半になる。日数は数十日に及ぶことがある。スライムは、精鉱を熱で処理した瞬間に出る滓ではない。溶錬は金を陽極銅の側へ運び、電解がそれを泥へ濃集する。熱の副産物という分類のまま捨てれば、金は廃棄の側に残る。銅の生産だけを見る勘定では、スライムは精製の邪魔であり、金の勘定を別に持ったときにはじめて、同じ泥が回収の対象になる。

三つの散り方は、物理が違う。ダイヤモンドは、硬い結晶が河川で運ばれ、砂利の粒径のなかへ入る。石油は、貯留層の圧力で表面へ滲出し、薬と迷惑の分類へ入る。金は、銅の電解が、薄い品位を槽底の泥へ濃集する。共通なのは、既存の分類が差を背景へ入れているあいだ、回収の設備が建たないことである。分類を破るのは、一つの大きな結晶であったり、灯火という用途であったり、スライムを溶かす工場であったりする。破ったあとに残る作業は、洗って選ぶ、留分を分ける、泥から金属を溶かす、という媒体の上の手順である。

2. 金脈と銅鉱床、井戸と自噴

同定のあとで分かれる形が、まず鉱床に二つある。観測モデルも、形ごとに違う。金脈を見つける手順を、斑岩鉱床へ向けると、脈がないので何もないように見える。斑岩を見る手順を、金脈へ向けると、周囲の岩まで掘って品位を溶かす。

金脈は、熱水が割れ目へ金を沈殿させた脈である。石英などの脈石とともに、幅はセンチメートルから数メートル、延長は脈ごとに違い、品位は高い。量は、岩体全体から見れば小さい。採掘で守るべき量は、脈の幅である。採掘幅が脈幅を超えると、両側の母岩が鉱石へ混ざる。母岩の品位をゼロとみなすとき、切羽の品位は、脈の品位に、脈幅と採掘幅の比を掛けたものになる。

\[g_{\mathrm{stope}}=g_{\mathrm{vein}}\times\frac{w_{\mathrm{vein}}}{w_{\mathrm{stope}}}\]

たとえば脈幅 0.4 メートル、品位 30 g/t、採掘幅 2.0 メートルなら、切羽の品位は 6 g/t である。この数字は、実在の鉱山の実績ではなく、希釈が幅の比で決まることを示す例である。比が 5 なら、品位は五分の一になる。周囲の岩をまとめて掘るほど、見つけた差は切羽の平均へ溶ける。選択採掘は、この比を 1 に近づける手順である。支保、さく孔、運搬の都合で幅を広げると、広げた分だけモデルが見つけた品位は、出荷の品位ではなくなる。

脈は連続していない。富鉱部は塊になって途切れ、試料の一点が高いからといって、切羽全体がその品位であるとは限らない。これをナゲット効果と呼ぶ。平均を取る試料の大きさが、濃集の大きさとずれていると、観測は二つの誤りをする。一点の高品位を鉱体の平均だとみなすか、平均のなかに高品位を溶かし、脈がないとみなすかである。前者は存在しない体積を掘り、後者は存在する脈を母岩の平均へ戻す。試料の大きさを、濃集の大きさに合わせることが、この形の観測モデルである。

銅の斑岩鉱床は、濃集の大きさが岩体そのものである。鉱液が岩株の周囲へ網状に入り、銅の硫化物が低い品位で広く散る。割れ目の一本を追っても、その一本は鉱体ではない。観測は、変質帯、網状割れ目、試錐の品位を、体積として繋ぐ。一つの試錐が高いことではなく、下限を超える品位の鉱石が、何トン続くかである。

下限を、カットオフ品位と呼ぶ。カットオフより低い岩は、金属を含んでいても、採掘と選鉱の費用を金属の売上で賄えない。カットオフを下げれば、計算上の鉱量は増える。同時に、処理1トンあたりの金属は減り、ずりの混入と運搬はそのまま残る。上げれば、鉱量は減り、残った鉱石の品位は上がる。どちらが採算になるかは、選鉱の実収、運搬の費用、金属の価格で決まる。脈の幅を守る問題とは、守っている量が違う。こちらが守るのは、品位とトン数の積が、処理の下限を超えている範囲である。

実収は、埋蔵量とは別の速度である。埋蔵量は、そこにある鉱石の量と品位である。実収は、さく孔、発破、支保、選鉱、運搬が、単位時間に処理できる量と、その過程で落ちる品位である。品位の高い鉱石を、選別と支保の速度を超えて搬出すると、ずりが混ざり、坑口の品位より着荷の品位が下がる。下がった分が経路の損失である。途中の積み替えが増えると、粉化、ずりの混入、計量の差が、その損失を増やす。選鉱を需要端の近くまで遅らせ、途中で品位を落とさない区間を長く取るのは、この差を小さくする手順である。

井戸と自然湧出の温泉は、差の出どころが違う。帯水層から取れる水の上限は、降水と地下の流れが単位時間に補給する涵養量である。孔のなかに今見えている水量は、貯留から今出ている量であって、涵養量ではない。湯船に湯があることは、地下の貯留が減っていないことを意味しない。

自然湧出の掛け流しは、源泉から出た湯を、加熱も循環もせず、湯船へ流して捨てる使い方である。駆動しているのは、ポンプの軸動力ではない。被圧された地下水の水頭が地表面より高く、孔を開けただけで湯が自ら出る。源泉と湯船のあいだの高低差が、流れを作る。井戸は、水頭が地表に届かないときに、不足する揚程をポンプで補う。差を作っている機械が、井戸にはある。掛け流しには、その機械がない。

涵養量を超えて揚湯すると、どちらの形でも孔の水位が下がる。下がった水位が周囲の地下水面より低くなると、周囲の水が孔へ向かう。温泉では、その水が低温の地下水である。温度と溶存成分は、混合比で変わる。採取のための工事が孔の周囲の地盤を崩すと、湯の通路が閉塞し、自噴が止まる。自噴が止まり、温度と成分が落ちた孔は、見つけたときの源泉ではない。泉質の数値を大きく表記しても、揚湯量の上限は涵養量のままである。表記は貯留の見積もりであり、涵養は単位時間の補給である。より大きいポンプは、低下した水位を、涵養へは変えない。ポンプが足すのは、残った水を汲む速度である。

温度の落ちた湯船は、一度捨てた湯を循環し、加熱すれば温まる。保たれているのは浴槽の温度である。源泉の水位と成分は、加熱器の出力では戻らない。浴槽の熱収支と、源泉の水収支は、別の勘定である。浴槽温度を源泉の指標に使う観測は、加熱を始めた時点で、源泉を見ていない。

送電は、落差を経路の途中で落とさない手順を、電圧で行う。送る電力を \(P\)、線路の電圧を \(V\)、電流を \(I\)、線路抵抗を \(R\) とする。電力は電圧と電流の積であるから、電流は \(I=P/V\) である。線路で熱になる損失は、電流の二乗に抵抗を掛けたものである。

\[P_{\mathrm{loss}}=I^{2}R=\frac{P^{2}R}{V^{2}}\]

同じ電力を、高い電圧で送るほど電流は減る。損失は電圧の二乗に反比例して減る。発電機の端子で変圧器が電圧を上げ、需要端で一度だけ下げるのは、高い電圧の区間を長くするためである。経路の途中で昇圧と降圧を繰り返すと、変圧のたびに鉄損と銅損が足される。鉄損は磁心のなかの損失、銅損は巻線の \(I^{2}R\) である。回数を増やすほど、需要端へ着く電力は減る。電圧を高く保つのは、電力を増やす操作ではない。すでに作った電力を、経路で溶かさない操作である。鉱石の品位を途中で落とさないことと、手順の種類は同じである。品位の式と、この損失の式は、同じ式ではない。

3. 電子回路

回路で同定するのは、電位差である。差が、測定器の雑音、オフセット、分解能の下にあるとき、端子の読みは背景の電圧のままである。抵抗 \(R\) の両端に、温度 \(T\)、帯域 \(\Delta f\) で現れる熱雑音の電圧は、おおよそ次式である。

\[v_{n}=\sqrt{4 k_B T R \Delta f}\]

\(k_B\) はボルツマン定数である。帯域を広げ、抵抗を大きくするほど、揺らぎは増える。信号の振幅がこの揺らぎより小さいとき、差は線路の上に存在するが、その測定の分類では雑音である。帯域を信号に合わせ、感度を振幅に合わせてはじめて、同じ端子が差として読める。砂利を洗うことが結晶を背景から分けるように、帯域と感度を限ることが、電位差を揺らぎから分ける。分け方の物理は違う。

分けたあとも、差には素子からの下限がある。室温で、MOSFETのドレイン電流を一桁変えるために必要なゲート電圧の変化を、サブスレッショルド・スイング \(S\) と呼ぶ。電流がゲート電圧に対して指数関数で変わるとき、一桁、つまり10倍に必要な電圧は、熱電圧に自然対数の10を掛けた量から下へは行かない。

\[S = \ln(10)\cdot\frac{k_B T}{q}\cdot\left(1+\frac{C_{\mathrm{dep}}}{C_{\mathrm{ox}}}\right) \ge 60\,\mathrm{mV/decade}\]

\(q\) は電気素量、\(C_{\mathrm{dep}}\) は空乏層容量、\(C_{\mathrm{ox}}\) はゲート酸化膜容量である。括弧の中の 1 は、理想的な表面電位の制御に対応する。空乏層容量が酸化膜容量に対して大きいほど、ゲート電圧のうち表面電位へ効く割合が減り、スイングは 60 mV/decade より悪くなる。不等式の 60 は、300 K における熱電圧 \(k_B T/q \approx 26\,\mathrm{mV}\) に、\(\ln(10)\approx 2.3\) を掛けた値である。室温の熱運動が、オフとオンを分ける電圧の刻みを、この値より細かくしない。

しきい値電圧をこの下限へ寄せると、オフ状態でも熱でチャネルへ上がる電子が減らず、漏れ電流が指数関数的に増える。オフを保ったまま電源電圧だけを下げる、という記述は、この漏れの勘定を含まない。デナード・スケーリングは、トランジスタの寸法を係数 \(\kappa<1\) で縮小するとき、電圧も \(\kappa\) 倍、ドープ濃度は \(1/\kappa\) 倍にすれば、電界と電力密度を一定に保てる、という設計規則だった。寸法の縮小が速度を上げ、電圧の低下が一つ一つのスイッチングで散るエネルギーを下げ、両方を同時にやることで、チップを増やしても熱密度が上がらない、という見積もりである。スイングの下限のために電圧を \(\kappa\) 倍へ下げられなくなると、規則の前提が外れる。寸法だけが縮み、電圧が残る。電源電圧は約 1 V 付近で下げ止まり、周波数とトランジスタ数だけを増やすと、電力密度が空冷の限界を超える。クロック周波数は約 3〜4 GHz で飽和した。寸法の縮小が与えていた速度の向上は、電圧を同じ割合で下げられる、という条件の上にあった。 チップに載せたトランジスタのうち、熱設計電力のなかで同時に定格周波数で通電できる割合も、この下限で制限される。通電できない領域は、電源を切るか、周波数を落として待つ。これをダークシリコンと呼ぶ。素子を足すことは、同時に仕事へ使える面積を増やすことではない。熱の勘定が、同時にオンでいられる面積を先に決める。 論理の上で情報を消すことにも、熱の下限がある。ロルフ・ランダウアーが1961年に述べたのは、可逆でない計算で1ビットを消すとき、環境へ出る熱が、最低でも次の量になるということである。

\[Q = k_B T \ln 2\]

この式は、ビットを記号として消す操作が、熱浴への放熱を伴うことを述べている。放熱のない消去は、この制約の中にはない。現代のCMOSで支配的なのは、この下限そのものより、ゲート容量 \(C\) の充放電である。論理状態を反転するたびに散るエネルギーは、おおよそ \(CV^{2}\) である。ランダウアーの下限より何桁も大きい。大きい方の損失を減らさずに、記号の上で状態を取り消しても、すでに散った熱は戻らない。

分けた電位差は、絶縁がなければ保てない。電圧の異なる二つの節点を、抵抗 \(R_a\) と \(R_b\) で繋ぐと、間の電圧は二つの抵抗の分圧になる。高い側の電源を、低い側の電源へ小さい抵抗で接続すると、高い側の端子電圧は低い側へ崩れる。電流は、抵抗の小さい側へ流れる。ゲート酸化膜は、ゲート電極とチャネルのあいだにこの経路を作らないための絶縁である。膜が薄くなり、トンネルで電流が漏れ始めると、絶縁として数えていたものが経路になる。特権の境界も、論理の上の絶縁である。検査より前に値が読まれ、その結果が回路の状態に残るなら、境界は記述の上にしかない。

高性能のCPUは、条件分岐の結果が確定する前に、分岐予測器が履歴から選んだ先の命令を実行する。予測が当たれば、結果はそのまま確定する。予測が外れれば、命令パイプラインは捨てられ、レジスタとプログラムカウンタは分岐の前へ戻る。命令セットアーキテクチャから見える状態については、外れた先読みは実行されなかったことになる。マイクロアーキテクチャの状態は戻らない。先読みのあいだに主記憶から読まれたデータは、キャッシュラインに残る。分岐予測バッファの履歴も残る。頁表を引いた結果を持つTLBの内容も残る。

残った状態は、アクセス時間として測れる。同じ番地を読むとき、データがキャッシュにあれば数十サイクルで返り、なければ主記憶まで到達して数百サイクルかかる。時間差の内訳は、配線を信号が伝わる時間、ゲート容量の充放電、バスの往復である。アーキテクチャ状態のロールバックと、配線を一度電流が流れたことは、両立する。Meltdown と Spectre が示したのは、権限の検査や分岐の解決より前にロードされた値が、キャッシュの状態として残ることである。対策がマイクロコードの修正、シリコンの変更、パイプラインを止めるバリア命令に着地したのは、アーキテクチャ状態の定義を文章の上で守っても、キャッシュと予測器が残るからである。

どの層を見るかで、観測される量は変わる。プログラムの意味の層では、言語仕様の抜けや、権限判定の論理の矛盾である。マイクロアーキテクチャの層では、キャッシュに残った時間差である。デバイス物理の層では、隣接するメモリセルからの電荷の移動や、チップの消費電流の波形の差である。Rowhammer は、DRAMの行を繰り返し駆動したとき、隣接セルの電荷が寄生容量を通じて失われる現象である。差動電力解析は、遷移の向きによって充放電電流が異なることを、チップ全体の電流波形から統計的に読む。層が下がるほど、見えているものは回路の電気的な量そのものになる。上の層の分類が「この命令は実行されなかった」であっても、下の層の電荷と電流は、その分類を取消しにしない。

分岐予測、アウト・オブ・オーダー実行、投機的実行は、単一の命令流の待ちを隠すための制御回路である。この制御を厚くすると、消費電力と、外から観測できる状態の漏れが同時に増える。待ちを隠す回路は、仕事そのものではない。仕事の合間に、追加のスイッチングをする。追加のスイッチングは \(CV^{2}\) を増やし、キャッシュと予測器に、外から時間差として読める状態を残す。

並列化には、プログラムの構造からの上限がある。実行時間のうち並列にできる割合を \(p\)、直列のまま残る割合を \(1-p\)、コア数を \(s\) とする。加速は、直列部分の時間と、並列部分を \(s\) で割った時間の和の逆数である。\(s\) を無限に大きくすると、並列部分の時間は消え、直列部分だけが残る。

\[\lim_{s \to \infty}\mathrm{Speedup}=\frac{1}{1-p}\]

直列部分が 1 パーセントなら、上限は 100 倍である。10 パーセントなら、上限は 10 倍である。コアを足す前に、直列がどちらなのかを測らないと、購入するコアの数が、到達できない上限の手前で飽和する。スレッド間の同期、ロック、入出力、メモリへの到達が、この \(1-p\) になる。ロックを取ったまま待つ区間は、コアの数を増やしても、その区間の時間を分け合わない。

実行時間そのものは、パターソンとヘネシーの性能の鉄則で三つの因子に分かれる。

\[\mathrm{CPU\ Time}=\mathrm{IC}\times\mathrm{CPI}\times\tau\]

\(\mathrm{IC}\) はプログラムあたりの命令数、\(\mathrm{CPI}\) は命令あたりのサイクル数、\(\tau\) はクロック周期である。命令数を減らすために一つの命令を複雑にすると、デコードと実行のサイクル数が増え、\(\mathrm{CPI}\) と \(\tau\) が悪化する。三つの積であるから、一つの因子を小さくする変更が、隣の因子を大きくすることがある。RISCが固定長の単純な命令で \(\mathrm{CPI}\) を 1 に近づけ、クロックを上げたのは、どの因子を小さくするかを分けたからである。素子、マイクロアーキテクチャ、コンパイラ、言語を、別々の最適として足すと、一方の改善が他方の因子を悪化させる。パターソンとヘネシーが協調設計と呼んだのは、この四つの層を、一つの積の上で同時に見ることである。

同じプロセッサ上の正方行列の積では、どこを変えると積がどれだけ変わるかが測られている。Python による記述を 1 とすると、C へ書き直して約 47 倍、18 コアで並列化して約 120 倍、行列をキャッシュに収まるブロックへ分割して約 2,500 倍、SIMD 命令を明示して約 62,000 倍である。18 コア化による増加は、C からの約 2.5 倍である。

各段の中身は違う。Python から C への約 47 倍は、インタプリタが命令のたびに行う型の検査、オブジェクトの生成、動的な呼び出しが、C では機械の演算へ落ちることから来る。命令数と、命令あたりのサイクルの両方が減る。18 コアの約 2.5 倍が小さいのは、行列積の演算が、メモリから数を運ぶ速度で頭打ちになりやすいからである。コアを足しても、主記憶の帯域と、直列に残る部分は、コア数では割れない。キャッシュに収まるブロックへ分割する約 2,500 倍は、同じ数を主記憶から何度も運ぶのをやめ、容量に入る部分行列のあいだで演算を終えることから来る。SIMD の約 62,000 倍は、一つの命令が複数の演算を同時に行うデータパスへ、ループを明示的に合わせることから来る。大きい因子は、コアの個数ではない。データを置く場所と、一つの命令が処理する幅である。差の所在を同定する前にコア数を増やすと、直列部分とメモリへの到達が残ったまま、並列の数だけが増える。

4. スタートアップの金脈探し

成長コアとは、需要がその事業へ向き、価格が維持され、同じ販売が繰り返される部分である。平均的な事業とは、全社に共通の決裁、共通のKPI、共通の人員、共通の定例で運営されている部分である。金脈探しとは、このコアを、共通KPIの集計のなかから同定し、同定した形に合わせて、決裁と人員と時間を共通の経路から分けることである。

探索で最初に外すのは、コアが存在しないことではない。コアが、共通の分類のなかへ散って見えることである。繰り返し届く苦情、平均的な製品の副作用として処理されている用途、定常業務の滓に見える作業に、需要が濃集していることがある。苦情を処理件数として数える観測は、件数を減らすことしか見ない。その苦情が、同じ顧客から、同じ理由で、価格を受けて繰り返されているなら、件数の奥に販売がある。副作用として切り捨てた用途が、本体の機能より高い価格で、少数の顧客に繰り返されているなら、切り捨てた側がコアである。定常業務の滓に見える作業、たとえば特定の顧客のためだけに毎回発生している手作業が、その顧客の継続の理由そのものであることがある。KPIは、苦情を苦情として、副作用を副作用として、手作業を非効率として集計する。集計の分類を疑わないかぎり、差は分類のなかに残る。

測る手順は、事業の言葉では次のとおりである。第一に、誰が、何を、どの価格で、何回買っているかを、全社平均ではなく一件ごとに分ける。平均客単価は、高単価の少数と、低単価の多数を一つの数へ溶かす。溶かす前の分布を見る。第二に、価格を下げたときに継続が増えるのか、価格を保ったまま継続しているのかを分ける。値引きで続いている販売は、値引きが流れを作っている。第三に、その販売に触れている人の時間が、顧客の一次情報に使われているのか、社内の引き渡しと説明に使われているのかを分ける。第四に、その販売を止めずに、全社の定例と共通の承認を外したとき、何が残るかを見る。残るなら、流れは販売の側にある。残らないなら、流れは社内の経路が作っていた。この四つを測る前に人数を増やすと、分類を処理する人手が増えるだけで、分布は平均のままである。

同定したあと、形を取り違えると差が消える。取り違えは四つある。

第一に、狭い高単価の反復を、広い市場の平均として掘る。専用の判断を、全社の承認と共通の手順へつなぐと、その販売の外のやり方が混ざる。脈幅の外の母岩が品位を溶かすのと、溶け方が同じ種類である。溶けるものは違う。事業で溶けるのは、判断の単位である。誰に売るか、何度目の販売で何を変えるか、価格をどこで守るかが、共通の承認の単位へ揃う。成果の量、つまりそれまで届けていた販売の件数は、揃えたあとも残る。同じ件数を、増えた引き渡しと説明で通すと、一手ごとの待ちと手戻りが増える。顧客に届くまでの時間は伸びる。件数を維持した報告は、この伸びを隠す。見ているのが件数だけなら、コアは残っているように見える。見ているのが、一件が届くまでの時間と、価格が保たれているなら、コアはすでに平均へ溶けている。

第二に、薄い需要が広い事業を、一点の富鉱脈として掘る。一点の顧客、一人の担当、一つの機能に人を集めても、処理すべき体積がなければ事業にならない。この形で要るのは、共通の処理能力と、採算の下限の管理である。下限より薄い取引を、厚い取引と同じ経路で流すと、処理の費用だけが残る。一点を厚く見せるための値引きと、専用の接客は、薄い需要を金脈に見せる表記である。表記を止めたときに体積が残るかで、形は分かる。残らないなら、掘っていたのは脈ではない。

第三に、既にある流れを、獲得費と人員でさらに汲む。需要が既に向き、価格が保たれ、販売が繰り返されているときに、その継続の量を超えて広告と人員を足すと、足した費用を賄うために価格を下げるか、担当者の時間を新しい件数の処理へ使うことになる。継続の理由、つまり同じ顧客が同じ価格で戻ってくる理由は、その処理では増えない。定例、報告、平均的な事業の障害対応で、コアの担当者の時間を使いきるのは、この過剰な採取である。毎週発生する負荷は、継続購入とは別の速度で、時間を汲む。時間を汲んだあとに、共通KPIの数値だけを維持しても、需要が向く理由は戻らない。

第四に、獲得費で作っている流れを、自噴だとみなす。広告と値引きを止めたときに販売が止まるなら、流れは獲得費が作っていた。売上の数値を、人員とキャンペーンで保つことは、浴槽を加熱して温度を保つことに、勘定の上で似ている。似ているのは、指標の側だけである。保っているのは売上の数値であり、顧客が戻る理由ではない。理由がポンプの側にあるときに、ポンプを源泉だと呼ぶと、ポンプの費用を切った時点で販売が落ち、落ちた理由が源泉の枯渇に見える。枯れていたのではなく、はじめから水頭が地表に届いていなかったのである。届いているかを見るには、ポンプを止めた短い期間に、残る販売を測る。測る前に、数値を人員で埋め戻すと、自噴かどうかは分からないままになる。

平均的な事業チームは、この四つの混入を、特別な意図なしに行う。共通の決裁、共通の会議、共通の人員は、会社の既定の経路であり、通りやすい。成長コアの側に専用の決裁と専用の人員がないとき、案件はその経路へ流れる。悪意は要らない。経路の抵抗が小さいだけで、時間と案件はそちらへ動く。倫理の規程と研修は、共通の決裁、共通の人員、コアの時間の使い方を変えない。三つが残っている限り、評価は全社の平均へ揃い、専用の手順は共通の手順へ繋がり、コアの時間は定常業務へ使われる。揃えたあとも件数は残るので、崩れていることに気づくのが遅れる。気づくには、件数とは別に、価格、継続、一件の所要時間を、コアの外の平均と分けて持つ必要がある。分けて持たないKPIは、砂利を砂利として数える観測である。

人数を増やす順序は、回路でコア数を増やす順序と同じである。まず、差がどの分類に散っているかを、上の四つの測定で見る。狭い高単価の反復なら、共通の承認との混入を止める。判断の単位を、その販売の担当が、顧客の一次情報まで戻らずに再利用できる形で、現場に置く。薄い需要が広いなら、採算の下限と、処理できる体積を先に整える。一点へ人を集めるのは、体積が見えてからである。流れが既にあるなら、継続して買われる量の範囲へ、広告と人員の追加を戻す。流れを獲得費が作っているなら、獲得費を止めたときに残る販売を先に見る。残る部分だけを、コアとして育てる。残らない部分は、ポンプの費用として別に勘定する。

そのあとで、並列にできる作業の人数を増やす。行列積で、18 コア化の約 2.5 倍より、キャッシュに収まる分割と SIMD の因子の方が大きかった。事業でも、人数の前に変えるのは、情報を置く場所と、承認が直列に残っている箇所である。承認、創業者の判断、入金までの一本道は、人数では割れない。この一点を残して人を足すと、待ちと、同じ案件を複数の人が持つ競合が増える。提供する内容、承認の一点、現場に置く記録を、別々の制度として足すと、一方を厚くした分だけ引き渡しが増える。回路で、制御を厚くすると電力と漏れが増えたのと、増えるものは違う。事業で増えるのは、顧客に届かない手続きの時間である。担当者の時間の大部分が、顧客へ届く作業に使われるよう、手続きの側を先に減らす。

5. 成長パイプラインの制御量

パイプラインとは、入口で同定した差が、出口の仕事へ着くまでに通過する段階の列である。制御量とは、その段階で動かせる量である。観測モデルが粗いとき、動かせると思っている量と、差を実際に守っている量とがずれる。ずれた制御は、段階を忙しくするだけで、出口の差を薄くする。

ダイヤモンドのパイプラインは、砂利の掘削、水槽での洗浄、粒の選別、切断である。差を守る制御量は、掘削量でも切断の速さでもない。洗ったあとに、どの粒を結晶として残すかである。掘削量を増やすと、水槽へ入る砂利は増える。残す基準が砂利のままなら、増えたのは背景である。結晶を残す基準ができたあとで、掘削量を増やす。順序が逆だと、選別されない砂利が、下流の段階を埋める。

石油のパイプラインは、染み出しの分類、貯留へ届く井戸、蒸留による留分の分離、灯火としての利用である。ドレークの井戸が動かした制御量は、深さと、管で地表の水を遮ることである。表面の油をすくう速度ではない。蒸留が動かす制御量は、どの留分を灯火に回すかである。薬として瓶に詰める段階を厚くしても、灯火の燃料は増えない。制御量が、差の形と違う段階に付いている。

銅と金のパイプラインは、採掘、浮選、溶錬、電解、スライムの化学処理である。電解より前の制御量は、銅のものである。カットオフ、精鉱の品位、陽極の純度は、銅を出口へ届けるための量である。金の制御量は、スライムを捨てるか、溶かすかの分岐にしかない。この分岐を廃棄物処理のままにして、上流の採掘量だけを増やすと、金は増えた泥とともに捨てる側へ流れる。精密な制御とは、どの段階に、どの金属の制御量があるかを分けることである。銅の採掘量を、金の制御量だとみなさない。

金脈のパイプラインは、割れ目の追跡、採掘幅、搬出、選鉱である。支配的な制御量は採掘幅である。幅を広げることは、下流の鉱石量を増やすように見える。品位は、脈幅と採掘幅の比で下がる。比が 5 なら、母岩の品位をゼロとみなすとき、出口の品位は五分の一になる。下流の選鉱を厚くしても、混ざった母岩は金属へ戻らない。制御を掛ける場所は切羽の幅であって、選鉱工場の処理能力ではない。

斑岩鉱床のパイプラインは、試錐、カットオフ、採掘、破砕、浮選、溶錬である。支配的な制御量は、カットオフと、単位時間の処理量である。一点の試錐が高いからといって、その一点へ採掘を集中しても、体積は取れない。処理量を、選鉱が品位を保てる速度より上げると、着荷の品位が坑口より下がる。上げてよいのは、カットオフを超える鉱石が、その速度で続くときだけである。

温泉のパイプラインは、涵養、孔、導管、湯船である。支配的な制御量は揚湯量である。湯船の加熱器は、末端に付いた別の制御量である。出力を上げると浴槽温度は変わる。涵養量は変わらない。加熱器を源泉の制御だとみなすと、末端の温度だけが整い、孔の水位は見ないまま下がる。精密な制御は、水位、泉温、揚湯量を、加熱器の出力とは別の計器で持つことである。計器が浴槽温度一つなら、上流は制御されていない。

送電のパイプラインは、発電機、昇圧、線路、降圧、負荷である。支配的な制御量は、線路の区間の電圧と、変圧の回数である。負荷の側で欲しい電力が決まっているとき、電圧を下げると電流が増え、損失は電圧の二乗で増える。途中に変圧所を足すことは、段階を増やすことであり、段階ごとに鉄損と銅損が足される。制御の方向は、高い電圧の区間を長くし、降圧を負荷の直前の一度にすることである。段階を増やすことを、制御が細かいことだとみなさない。

回路の給電も、電源、レギュレータ、配線、ゲートの列である。制御量は電源電圧である。ただし下限がある。スイングの式が示す約 60 mV/decade より細かい刻みで、オフ電流を一桁変えられない。約 1 V より下へ電圧を下げる制御は、漏れ電流を同時に見ないかぎり、オフにしているつもりのトランジスタを、漏れで熱くする。ダークシリコンは、この制約のもとで、同時に通電する面積の方が、トランジスタ数より支配的な制御量になった状態である。素子の数を増やす制御は、熱の勘定の外では効かない。

命令のパイプラインは、取り込み、デコード、実行、メモリアクセス、書き戻しの列である。分岐が確定する前に先の段を埋めるのが、投機的実行である。この制御は、単一の命令流の待ちを隠す。外れたときにレジスタを戻しても、キャッシュに残る状態は、その取り消しの外にある。命令の結果を取り消す制御は、キャッシュを制御していない。制御量が届く範囲と、届かない記憶を分けることが、この列の精密さである。予測の段を厚くすると、\(CV^{2}\) と、外から時間差として読める状態が増える。待ちを隠す段数の増加は、仕事の増加ではない。

行列積で測られた順序は、どの段階に効く制御量があるかの実測である。Python から C への書き換えは、命令の段で散っていた検査を減らす。キャッシュに収まる分割は、メモリの段で同じ数を何度も運ぶのをやめる。SIMD は、一つの命令が処理する幅を、データパスの幅に合わせる。18 コアは、並列にできる段を分ける。効果が大きかったのは、前の三つである。コア数は、直列とメモリ帯域が残っているあいだ、支配的な制御量にならない。精密な制御は、効果が大きい段から動かし、頭打ちの段を先に太くしないことである。アムダールの上限 \(1/(1-p)\) は、直列の段を残したまま並列の段だけを太くしたときの到達点である。

スタートアップの成長パイプラインは、需要の同定、形の判定、決裁と人員と時間の分離、そのあとでの件数の増加である。支配的な制御量は、価格、継続、一件が届くまでの時間、承認が直列に残っている箇所である。人数と広告費は、この四つが見えたあとにだけ制御量になる。見える前は、砂利の掘削量と同じで、背景を増やす。

価格は、値引きを止めたときに残る販売で測る。継続は、同じ顧客が同じ理由で戻る間隔で測る。一件の時間は、顧客の一次情報に触れている時間と、社内の引き渡しに消える時間を分けて測る。承認の一本道は、その承認を外しても販売が続くかで測る。四つを、全社の件数へ平均しない。平均した瞬間に、狭い高単価の反復は、薄い多数へ溶ける。溶けるのは、まず観測である。観測が溶けた状態で人数を動かすと、販売の手順も平均へ溶けていく。

平均的な事業の定例は、パイプラインの途中へ挿入された段階である。段階が増えるたびに、引き渡しと説明が足される。送電で変圧の回数を増やすと損失が足されるのと、足されるものは違う。事業で足されるのは、顧客に届かない時間である。精密な制御は、定例を細かく増やすことではない。コアの販売に不要な段階を外し、残した段階を、価格と継続と時間で持つことである。倫理の研修は、段階の数も、承認の位置も変えない。変えるのは、決裁を分けること、人員を分けること、コアの時間を定常業務から外すことである。

制御の順序を、媒体をまたいで一つの作業手順に畳むことはしない。畳めるのは、順序の種類だけである。まず、出口で見たい差が、入口のどの分類に散っているかを測る。次に、その形の制御量が、どの段階にあるかを特定する。金脈なら切羽の幅、自噴なら揚湯量、給電なら電圧、命令なら直列の段、販売なら価格と継続と承認の位置である。その段階を、差が溶ける方向の逆に動かす。幅を脈に近づける。揚湯を涵養量以下に戻す。電圧を負荷の手前まで保つ。直列の承認を短くする。最後に、並列にできる段階の容量を増やす。コア数、処理トン数、人数は、この最後の容量である。最初に動かす制御量ではない。

6. 結論

エネルギーポテンシャルの差は、背景へ散ると見えなくなる。ダイヤモンドは、川砂利を洗って選別することで、砂利の分類から分かたれた。古代の行政が宝石を知っていたことと、ある区画の砂利が洗われていなかったこととは、両立する。石油は、薬と迷惑としての分類とは別に、灯火の燃料として同定されることで、染み出しが貯留への入口になった。銅鉱床の金は、鉱石のなかでは金脈として見えず、電解のあとのアノードスライムを化学処理することで、泥の分類から分かたれた。

分かったあとは、形のまま育てる。金脈は、採掘幅を脈幅に近づけ、母岩と混ぜない。銅の斑岩鉱床は、カットオフとトン数で範囲を決め、ずりを混ぜて着荷の品位を落とさない。自噴は、揚湯量を涵養量以下に保つ。浴槽の加熱は、源泉の水位を戻さない。井戸は、ポンプを止めたときに残る水で収支を見る。より大きいポンプは、涵養を増やさない。送電の電圧は、需要端まで高く保ち、途中の変圧の回数を増やさない。

回路では、電位差が熱雑音と分解能の下にあるあいだ、その差は測定の上では雑音である。帯域と感度を合わせた測定が、差を分ける。分けたあとも、サブスレッショルド・スイングは室温で約 60 mV/decade を下回らず、電源電圧は約 1 V より下へは、漏れ電流なしには下がらない。絶縁のない母線では、高い側の電位から崩れる。命令の結果を分岐の前へ戻しても、キャッシュと予測器の状態、および既に散った \(CV^{2}\) は戻らない。直列部分が残るプログラムは、コア数を増やしても \(1/(1-p)\) を超えない。行列積で大きかった因子は、コア数ではなく、データを置く場所と、一つの命令が処理する幅であった。

スタートアップの金脈探しがこれらと同型なのは、作業の名前が同じだからではない。散った差を、既存の分類から分ける観測モデルが要ること。同定した差の成長パイプラインを、その形の制御量で動かすこと。この二つが同じだからである。成長コアの決裁、人員、時間を、全社共通の経路から分ける。件数のKPIだけでコアが残っていると判断しない。人数を増やすのは、価格、継続、一件の時間、承認の位置を測り、差が溶ける段階を止めたあとである。