May-akda: Compiled Monk

Nakapag-isip ka ba kung ilang layers ng teknikal na stack ang lumalagpas ng artikulong ito na pinagbabasa mo ngayon?
Mga operating system sa mobile, kernel ng browser, engine ng JavaScript, WebAssembly, CDN, DNS, cloud server, Linux kernel, C runtime library, instruction set ng CPU, wafer ng semiconductor... lahat ay nagtatapos sa isang piraso ng silikon na nagpapagana ng kuryente.
Bawat antas ay tila malakas at matibay. May whitepaper, sertipikasyon, at suporta mula sa mga malalaking kumpanya ang bawat antas.
Ngunit kapag isinama mo silang lahat, makikita mo ang isang nakakalungkot na imahe—isang tulaing paligid na nagsisilbing pundasyon ng lahat, isang maliit at kawawaang pula.
Ang pangalan nito ay: Von Neumann bottleneck.
At ang iyong sarili na nasa itaas ng torre, hawak mo ang iyong cellphone at naniniwala na lahat ay normal.
01 Ang red na bar na walang gustong tingnan
John von Neumann, ama ng modernong kompyuter. Ang arkitekturang von Neumann ay ang pangunahing disenyo ng lahat ng modernong kompyuter. Ang CPU ang nagpapagawa ng mga kalkulasyon, habang ang memorya ang nag-iimbak, at ang dalawang ito ay nagkukonekta sa pamamagitan ng isang bus upang i-transfer ang data. Ang disenyo na ito ay ginagamit mula noong 1945 hanggang ngayon, at ito ay nakatulong sa paglipas ng mga malalaking makina, PC, internet, at mobile era, at ngayon ay nagpapatuloy ito sa panahon ng artificial intelligence.
Ngunit mayroon itong dalawang likas na kakulangan: 1) Mas mabilis ang pagkalkula ng CPU, ngunit hindi kasunod ng memorya at bus. Ang paghahatid ng data ay naging hangganan ng buong sistema—ang CPU ay karamihan sa oras ay hindi nagkalkula, kundi naghihintay sa data. 2) Ang mataas na pagproseso ng CPU ay nakadepende sa kapasidad ng cache, ngunit may likas na pisikal na limitasyon ang cache at hindi maaaring palawakin nang paralelo tulad ng memorya. Sa ilalim ng pagtutok sa pagiging maunawaan ng tao ng mga modernong mataas na antas ng programming language, ang lalong lumalaking mga programa at kumplikadong heterogenous na data ay nagsobra na sa kapasidad ng cache, kaya itinataas pa ang kahalagahan at dami ng paghahatid ng data sa pagitan ng memorya at CPU, na nagiging sanhi ng lalong pagbaba, pagkakasawa, at pagkakaroon ng mas madalas na crash ng computer. Ito ang "冯·诺伊曼瓶颈" (von Neumann bottleneck).
Ang kakaibang bagay ay ang bottleneck na ito ay ang pinakamababang, pinakamahalaga, at pinakawalaang pagpipilian na problema sa buong industriya ng IT, ngunit ito ay ang pinakawalang pansin na problema.
Bakit? Dahil mahirap lutasin at hindi madaling kumita.
Mas gusto ng mga malalaking kumpanya na idagdag ang higit pang mga antas—mas mabilis na GPU, mas malaking video memory, mas kumplikadong mga antas ng cache, mas matalinong mga algoritmo ng pag-schedule. Bawat antas ay maaaring isulat sa PPT, bawat antas ay maaaring magbenta, at bawat antas ay nag-iwas sa pula na haligi, hindi nagtatagpo nang direkta sa problema at naglulutas nito.
Tulad ng isang gusali na patuloy na nagdadagdag ng mga palapag, ang mga butas sa pundasyon ay pinipigilan ng mas makapal na papel sa pader.
Tinatanong mo kung ligtas ang mga naninirahan doon? Sasabihin nila: Mag-alala ka lang, bago namin itinanggal ang pinakabagong smart lock at binili ang pinakamahal na insurance sa kalamidad.
02 Bawat brick ay perpekto, ngunit kapag pinagsama, naging may kurbada.
Tingnan ang larawan na ito, makikita mo ang isang interesanteng phenomenon: bawat antas, kung hihiwalayin, ay tila isang maingat na disenyo na block.
Ang operating system ay may mahigpit na arkitektura ng kernel. Ang high-bandwidth memory (HBM) ay may masusing proseso ng pag-stack. Ang CPU at GPU ay may masusing disenyo ng milyon-milyon na transistor. Ang mga pabrika ng semiconductor ay ang korona ng industriya ng tao.
Ang Linux at Apache Foundation ay nagpapanatili ng pinakamakapagkakatiwalaang open-source infrastructure sa mundo. Ang LibcURL ay tinatawag ng lahat ng mga programa na kailangan ng network. Ang DNS system ay nagpapahintulot sa global internet na makahanap ng isa't isa. Ang mga provider ng cloud computing ay nagtataguyod ng 99.99% na availability.
Bawat piraso ay perpektong parisukat, bawat piraso ay may pananaliksik, pamantayan, at pagsusuri.
Ngunit kapag isinabuhos mo sila mula sa ibaba patungo sa itaas, nagbabago ang larawan.
Ito ang katotohanan ng modernong digital infrastructure: hindi isang maingat na disenyo na buong sistema, kundi isang kamangmangan ng maraming pansamantalang solusyon.
Nakakapagana ito, hindi dahil magandang disenyo, kundi dahil sapat na maraming tao ang naglagay ng sapat na mga patch sa sapat na maraming gabi.
Akala mo nagagamit mo ang isang gusali. Sa katotohanan, nakaupo ka sa isang puno ng mga patch.
Hindi ang 03 AI ang tagapagligtas, kundi ang huling palakol na nagpapabagsak sa kamel
Tingnan ang mechanical arm na nagsisilbi sa gilid, na may label na "AI Artificial Intelligence".
Hindi ito ang nagpapalakas sa torre, kundi bilang levers na nagpapabilis sa pagkabagsak ng mga gusali na parang bloke.
Ito ang pinakatumpak na pagsasariling pagsasalaysay sa kasalukuyang pagtaas ng AI.
Lahat ay nagsasabi na ang AI ay isang rebolusyon sa produktibidad, ang susunod na panahon, ang silver bullet na laligtas sa lahat. Ngunit mula sa pananaw ng imprastruktura, ang unang bagay na ginagawa ng AI ay ang paghahatid ng nasa pagkabigo na sistema sa mas mapanganib na hangganan.
Bakit? Dahil 1) ang AI ay isang monster ng computing power. Ang konsyumo ng kuryente sa isang pagtatrabaho ng malaking modelo ay katumbas ng taunang paggamit ng kuryente ng isang maliit na lungsod. Ang pag-deploy ng inference ay nangangailangan ng malaking dami ng GPU, at ang paaaralan ng GPU ay patuloy na gumagana sa arkitekturang von Neumann—ang presyon sa red column ay mas malaki kaysa kailanman. 2) Ang paghahanap ng AI users sa data infrastructure ay nagdudulot ng higit sa libo-libong beses na presyon kumpara sa mga tao, at ang mga solusyong loop na ipinapalabas ngayon ay magpapalaki pa nang geometrically ang frequency ng AI tasks sa data retrieval, query, at computation.
Mas nakakatawa ang output ng AI.
Maraming AI-generated code ang isinumite sa mga open-source project, may iba’t ibang kalidad at puno ng mga vulnerability. Maraming AI-generated na nilalaman ang nagpapalabas sa internet, na nagpapalabo sa mga resulta ng search engine. Maraming AI-generated na “solusyon” ang ipinapakita bilang mga produkto at ibinebenta sa mga kliyente, at nagkakaroon ng problema kung saan ang pahinga ay isang ilusyon.
Hindi nila pinagbago ang pula mong haligi, kundi idinagdag lang nila ang isang bagong antas sa tuktok ng torre, at sinabi sa lahat: Tingnan, mas mataas na tayo.
Tungkol sa pagkabagsak, iyon ay nangyayari sa susunod na kwartal.
May isang joke na mabuti: Ginamit ng tao ang 70 taon upang palakasin ang computer mula sa "mabilis na kalkulahin" hanggang sa "makapagsalita ng kalokohan," at tinawag itong pag-unlad.
04 Ang Galit ng Malaking Kumpuniya: Hindi pagpapabuti ng gusali, kundi pagpapabagsak nito
Sa kanan ng larawan, isang malungkot na ibon ay tumatama sa pader ng torre. Ang panlabas na tala ay: "Ginagawa ng malalaking kumpanya."
Ang metapora ay marahas, ngunit tama.
Ang mga malalaking kumpanya ay naglalabas ng isang "revolutionary" na bagong produkto, bagong framework, o bagong standard sa bawat ilang panahon. Ang mga pagpapakilala ay may malaking skena, magagandang PPT, at ang mga KOL ay nagpapalakpak nang sabay-sabay.
Ngunit ang mga produktong ito ay kadalasan ay hindi nagpapabuti o nagpapalakas ng umiiral na istruktura ng industriya, kundi nagpapasira nito.
Nang lumabas ang isang bagong framework, namatay ang ekosistema ng lumang framework. Nang lumabas ang isang bagong pamantayan, lahat ng mga device na kompatibulo sa lumang pamantayan ay naging “nakalipas na produkto.” Alam ng mga malalaking kumpanya na may gastos ang ganitong pagkilos. Ngunit para sa kanila, ang gastos ng pagpapabagsak ng ekosistema ay ditto sa mga developer at user, habang ang paglago at pagpapahalaga mula sa bagong produkto ay para sa kanila lamang.
05 Independent Developer: Mga rocket na umalis nang mag-isa at mga piraso sa lupa
Sa kaliwang bahagi ng larawan, isang mag-isang developer ng Rust ay umuunang pababa sa isang rocket, na may tala: "Ang mga mag-isang developer ng Rust ay nagtatrabaho sa kanilang sariling mga bagay."
Ito ay isa pang pagtatawa.
Ang mga independiyenteng developer ay ang pinakamalikhaing grupo sa IT ecosystem. Walang nakakapagpapahigpit sa kanila ang KPI ng malalaking kumpanya, kaya sila ay maaaring mabilis na subukan at mali, at makagawa ng mga premium na aplikasyon na hindi kayang gawin ng mga malalaking kumpanya.
Ngunit may kabilang panig din sa mga produkto ng mga independiyenteng developer
- Gulo. Isang function lang, may sampung magkakaibang developer na gumawa ng sampung bersyon, bawat isa ay iba-iba, bawat isa ay may sariling pilosopiyang disenyo, at bawat isa ay pinapanatili lamang hanggang sa mawalan ng interes ang may-akda.
- Walang pagkakasunod-sunod. Walang iisang pamantayan, walang pangako sa kompatibilidad, walang plano para sa pag-update. Maaaring gumana ngayon, pero bukas, maaaring i-delete ng may-akda ang database.
Hindi seryoso. Maraming independiyenteng proyekto na walang pagsubok, walang dokumentasyon, at walang security audit. Ang pananaw ng may-akda ay "kung gumagana, sapat na", at ang proyektong ito ay pinagmumulan ng libu-libong iba pang proyekto.
Ang mga tanong na ito ay maliit kung tingnan nang hiwalay, ngunit kapag pinagsama, naging isa pang uri ng pagkasira sa merkado. Ang mga user ay nagpapasya sa maraming hindi pa tapos na produkto, habang ang mga developer ay nagkakaroon ng mga problema sa maraming itinapon na framework, at tumataas ang gastos sa tiwala sa buong ecosystem.
At ang mga magaling na independiyenteng developer, tulad ng Rust developer na sumasakay sa rocket at umuusbong sa larawan—nagpapatakbo sila ng kanilang sariling mga bagay, at gumagawa nang mabuti, ngunit walang kinalaman sa mahinang torre.
The tower won't become more stable because of them, and they won't stop because of the tower.
Bawat isa ay may sariling gawain, bawat isa ay may sariling pagbagsak.
06 Isang larawan, isang kababalaghan ng industriya ng IT
Tingnan natin nang buo ang larawan mula simula hanggang wakas.
Sa pinakababa, isang malaking gray na kahon na may nakasulat na "Kuryente (Computing Power, Water, Energy, atbp.)". Ito ang simula ng lahat—walang kuryente, walang computation. Ngunit sa kuwento ng IT industry, ang kuryente ay ang pinakamalalim na nakakalimutan na antas. Tumatalakay ang mga tao sa cloud-native, sa microservices, sa malalaking modelo, ngunit kaunti ang tumatalakay: Saan galing ang kuryente na ginagamit nito? Magkano ang gastos? Ano ang epekto nito sa kapaligiran?
Sa itaas ng kuryente, may apat na pundasyon: operating system, high-bandwidth memory (HBM), CPU/GPU, at semiconductor wafer foundry. Ito ang hardware layer, ang totoong "tapat at parisukat" na bahagi. Bawat isa ay kumakatawan sa pinakamataas na antas ng industriya ng tao. Pero tandaan, sila ay apat na hiwalay na bato, hindi isang buong pundasyon—ang pagkakabigkas nila ay may sariling mga puwang.
Sa itaas, isang mahabang kahoy na naghuhula-hula na may label na "Dynamic Array ng C Language Developers." Ang kahoy na ito ay umaakyat sa apat na pundasyon, ngunit hindi ito matatag. Sa gitna nito, isang maliit na pula na haligi ang sumusuporta sa buong bigat sa itaas—ang von Neumann bottleneck. Ang buong bigat ng mundo ng IT ay nagtatapos sa haliging ito.
Sa itaas, nagsimula nang mawala ang kontrol sa estilo. Isang "C99 project batay sa undefined behavior" ang nagtataglay ng mahalagang pag-andar. Sa ilalim ng JVM, ang relational database ay may tsek na pinauwi. Isang robotic arm ang lumabas sa gilid, may label na "AI Artificial Intelligence," at nagpapadala ng tower.
Patuloy sa itaas, ang V8 engine, left-pad,网络安全, at WebAssembly—ito ay ang Web layer. Sa tabi nito, malalaking titik na nagsasabi, "Web Developer Self-Sabotage" at "Strange Things Happening in Web".
Sa pinakatuktok, isang maliit na stick figure na kumakatawan sa isang user ay nasa dulo ng isang mahinang torre, kasama ang teksto na "Nandito ka." Kapag pinakita nang malaki, ang maliit na tao ay humahawak ng cellphone—ginagamit niya ang torre na ito, at maaaring mabagsak ang torre kahit anong oras.
Sa kaliwa ng torre, isang independiyenteng developer ng Rust ay sumakay sa isang rocket at umalis upang gawin ang kanyang sariling mga bagay. Sa kanan ng torre, isang galit na maliit na ibon (malaking kumpanya) ay tumatama sa pader ng torre. Sa itaas ng torre, isang ulap ay naglalakbay nang mag-isa, may nakasulat na "Cloud Server na Sumasalungat sa Mga Tatak" — ito ay walang koneksyon sa torre, parang isang konsepto lamang.
Walang isang salita na labis sa buong larawan. Bawat tala ay isang maliit na dugo, sumisira sa pinakamalalim na lugar na hindi gusto ng industriya ng IT na maabot.
Hindi ito isang pagbabalangkas. Ito ay naglalarawan sa kasalukuyan.
Isinusulat sa huli
Sa pagkakasulat ng artikulong ito, maaaring sabihin ng ilan: Sobrang malungkot mo, hindi ba't mabuti ang paggana ng industriya ng IT?
Oo, ito ay gumagana.
Ngunit ang "nagpapagana" at ang "matibay" ay dalawang magkakaibang bagay. Ang isang tao na kayang maglakad, ay hindi nangangahulugan na walang butas ang kanyang mga buto. Ang ising tulay na kayang daanan ng sasakyan, ay hindi nangangahulugan na hindi lumampas sa limitasyon ng kanyang kakayahan sa pagdadasal.
Ang takot sa industriya ng IT ay ang bawat antas nito ay patuloy na umuunlad nang mabilis, ngunit ang mga problema sa pinakamababang antas ay hindi pa rin talagang nalulutas. Ang von Neumann bottleneck ay nananatili pa rin, ang pagpapabagsak ng mga malalaking kumpanya ay patuloy, ang paggawa ng basura ng AI ay patuloy, at ang mga independiyenteng developer ay patuloy na nagtatrabaho nang hiwalay.
Lahat ay nagtatayo pataas, walang gustong tingnan pababa.
Kapag tingnan mo nang mababa, makikita mo na ang pundasyon ay isang toothpick. At ang isang toothpick, may araw na hindi makakapagpapalakas.
Maaaring maghintay lang tayo hanggang sa araw na iyon, kapag nasa tuktok ng tore at hawak natin ang telepono, baka unang pagkakataon naming magtanong: Paano ba talaga itinayo ang pundasyon ng gusali na ito?
