异想天开无罪,为啥不能再激进一点,但异想天开罪不可恕啊。
本文讲的就是数据中心网络,广域网不算,广域网还是要遵循分层,解耦,胖端瘦网原则,但数据中心不是,数据中心经理说了算。
传输网络从一开始就是端网分离的,从电话网开始,甚至从罗马大道时期就如此,负责转发信息的节点和信息的源头目标是绝对分离的,但从我们日常生活的便利性和效率来看并非如此,可我们仍然很少为邻居转递包裹。
无线自组织网络比如 Ad-Hoc,Mesh,每一个通信节点都可同时作为路由器交换机,细节不多说,就本地存储 PFC(参见 PFC 的 100 种优化) 而言,为充分利用资源,拥塞流量在遭遇拥塞时的后备 buffer 应该是动态分配的。这些 buffer 在没拥塞时做什么?自然而然,这些 buffer 可以作为系统的内存被应用服务使用。服务要部署在交换机上?
看起来很别扭,因为我们从没有见过这种网络,不是每个人都有机会玩 Ad-Hoc。
在解耦,分离各司其职的方法论时代,融合显得不合时宜,但对于提高资源利用率而言,我认为融合才高尚。没有交换机,没有路由器,所有服务器都是交换机,都是路由器。这意味着要改变拓扑,改变胖树,CLOS,Mesh 等先入为主的规则拓扑,而是基于业务(or 应用,服务)规划拓扑,以业务逻辑规划拓扑,而不是以流量规划拓扑。
“任何组织设计的系统,其结构都将不可避免地受到该组织沟通结构的限制。” 简单说,软件系统架构会和开发团队的组织架构相互呼应,这就是康威定律。基于它设计网络,抛弃传统的分层,细腰,沙漏模型,或许才是高效的手段,但也只真的高效,数据中心亟待的场景。对于广域网,可扩展性永远是第一位,大于性能。
大 buffer,当它只做 queuing buffer 时,才考虑成本,才用 SSD,NVMe 做后备,但当它可做业务逻辑计算内存时,它就仍然可用 DDR,这就是计算和传输之间的弹性调度,剩下的问题交给一个调度算法,在一片大内存中决策这块 buffer 用于业务内存,还是用于传输 buffer,做一个 yet another malloc。
如上图,没有任何路由器交换机,为啥不这么规划网络呢?
浙江温州皮鞋湿,下雨进水不会胖。