CODIC: A Low-Cost Substrate for EnablingCustom In-DRAM Functionalities and Optimizations

Haocong 学长有 contribution 的 work,其他作者来自ETHz,UIUC,NUDT。把一些PIM的工作low overhead的通过HW的方法让普通DRAM可以被修改、监控、优化。

CODIC design


CODIC-sig generates signature values that depend on process variation by sensing and amplifying aDRAM cell that we set to the precharge voltage (Vdd/2). Sense amplifiers detect minor voltage differences above or belowVdd/2.
CODIC-sig-opt is based on the key observation that CODIC-sig can set the voltage of the DRAMcapacitor toVdd/2very quickly.

CODIC-det generates deterministic values. The key idea is to drive the cell to a deterministic value by activating the two signals that drive the SA (sense_n and sense_p)with a delay between them. Depending on which of the two signals triggers first, the generated value is 0 or 1.

Substrate

Enable the fine-grained control of fundamental DRAM internal circuit timings that control key basic components in the DRAM array(wordline, sense amplifier, precharge logic)

Applications like cold start attack prevention, Physical Unclonable Function.

Physical Unclonable Function

The hardware primitive maps a unique input (i.e., challenge) to a unique response. It can start with Challenge-Responsepair (CR pair). The address and size of a memory segment as the only parameters that define a challenge.

  1. It has a fast evaluation time due to its ability to control internal DRAM timing signals.
  2. It does not require any filtering mechanisms because it provides highly stable out-put values.
  3. It has state-of-the-art resilience to temperature changes.
  4. The latency is good. All DRAM cells are always precharged toVdd/2for generating a PUF response, independently of their original value.

Cold start attack prevention

The attacker first disables power to the computer containing the victim DRAM and then transfers the DRAMto another system that can read its content.

Previous work 1. using Enclave to encrypt the Memory, 2.scramble the data in the memory controller, 3. Trusted Computing Group resets the DRAM content upon power-off.

The CODIC solution is self-destruction using sig or det operation on boot, it will first carry out this two logic to refresh all the data on row buffer.

Reference

  1. https://loisorosa.github.io/publications/
  2. https://www.youtube.com/watch?v=HuzjQAZr8ug

Cerebros: Evading the RPC Tax in Datacenters

Main Story

RPC always plays a crucial role in distributed systems. In Bilibili, when there's a huge amount of microservices that require RPC tax to do the data transmission. The SMartNIC, PIM, or Programmable Switches solution basically offloads the data calculation to outer computing power. The current hardware optimization mainly focuses on the transportation layer, and rarely cares about the whole execution process. Moreover, the instruction supply issue is also a bad idea, all the control paths will be injected into the binary run on the main OS.

Cerebros is an accelerator that can be attached to the NIC to read incoming RPC messages and hide its sends and recvs by overlapping the operation. The affinity logic by the CPU in the OS is not fit this design.

Problems

  1. CAM table for setting the type with called function address can be congestion.
  2. More control path means more software failure possibility.
  3. The reserved memory region should be preallocated with the metadata of RPCs on NIC cache which is a waste to the current DMA buffer.

RDMA pitfalls

For baseline commercial implementation baseline like Mellonoax. NIC can bypass the kernel to invoke the network stack already, the OS just needs to use its thread register to wait for QPs to end.

However, RDMA is not good for cross-datacenters or iWarp for the internet compared with TCPs. The latency is considerably small compared with the Switch Protocol calculation. However, the atomicity of the data transmission primitive on RDMA can be leveraged between private domains e.g. Shanghai to Beijing datacenter data transmission.

Comparison with MiniOOO and wBPF

The recent talk by
IMAGE 2022-04-28 14:02:57
IMAGE 2022-04-28 14:03:10

IMAGE 2022-04-28 14:03:17

IMAGE 2022-04-28 14:03:26

IMAGE 2022-04-28 14:03:33

对于相同长度的control path来说做一个通用的硬件观测模型比这个RPC Tax 故事更好听。

中华文化在西方价值盛行的当下女性择偶选择中的重要作用分析 ——周易与文化论文

  :在西方价值当道的当今社会,“资本”是两性问题的主要矛盾,网红当道、刚柔混杂、巨婴盛行、西式哲学霸屏,当热搜上从来只有流量明星的时候,而祖辈却有着共同的模范。从一个有前瞻性和有历史观的角度来讲,中国立场历代的阵痛期过后都能引向一个众人崇拜文化的稳定期,而今便是两个阶段的转折点。身为一个女性,当如何能把选择男性这件事变得更高雅,更具传承性?当中华文化经历了先破而后立时,我们应该向传统文化取经。

关键词:两性选择 中华文化 择偶 西方价值

李零:《周易》是本什么样的书_历史频道_新浪网

文化是什么?“刚柔交错,天文也。文明以止,人文也。观乎天文,以察时变。观乎人文,以化成天下”,在那最原始而古老的智慧精英的言语里,我们都能看出人与野蛮人最大的区别,就是人能顺应天文即自然,又葆有男刚女柔的人性。在古代中国的框架下,文化是关于人的一套思想行为人性,这种思维模式根生在每一个中国人脑子里,在两性择偶、阴阳结合的过程中,除了车房票这种“普世价值”的“资本”,我们仍应皈依根之所在。反观现世,大伙们沉浸在外力下趋利避害的怪圈中无法自拔。

郭敬明的《小时代》中讲述了一个这样的故事:女主角出身平凡却以外踏入“上流社会”,在经历嘲讽后她没有像童话故事里那样奋起反抗,而是适应了这个拜金社会,小说本无宏伟叙事或人性剖析,却在发表后迅速升温,或许原因就在于它深深地刺痛了国人敏感的神经。

几十年前的“大时代”里国家社会人民都有着共同的宏伟目标、恢弘的叙事格局,随着大时代的中介,网络媒体对社会阴暗的大规模披露,西方后现代主义思潮的引入,对于没有钱权的凡人来说,愈发感到自身的渺小和对自我存在的迷茫,身份迷失的焦虑,使之把一生的赌注下到能让自己享尽荣华富贵的公子。对比车房票的实在和踏实,有知识的人被曲解为忽悠人,但他们可能是十足的潜力股,在中华古籍中,真有对男性几个高质量的选角标准。但为何我说未来的中国人一定会更加崇拜那些有文化的人?因为中国历史上的才子哪一个不是“腹有诗书气自华”。文官武将皆受用。辛弃疾的“满江红,怒发冲冠凭栏处。”不知道还以为是一个文绉绉的柔弱男子,却是一个戍边的将士。最下贱的渣男徐志摩,靠一点风花雪月就能倾倒众生,更别提现世的扇扇子胖子还是写文章赛车手了。说到中华文化,丈母娘是继承中华文化当中汉字“家”的由来最直接也最世俗实在的一派。三千多年前仓颉造字的时候就知道家是由“”房子和“豕”野猪,也就是钱,她们事必门当户对,事必一房一名一证。拥有文化的人,能自然而然地产生大格局,博大胸怀,不卑不亢,对此间种种在阅后思考过后释然。一个有文化的人,他做事一定分得清轻重缓急,优先劣后。他对爱他的人一定会包容呵护。对不爱他的人一定会动之以情、晓之以理。他的斗争方式一定是有理、有据、有节,而不是成为仇恨的发起方,向宿舍里投毒。面对丈母娘的连番“轰炸”,绝不会因为没有票而放弃对阴阳结合喜悦的追求。绝对不会做软弱的一方,成为巨婴放任自己父母的冷酷无情,一定不会酿成孕妇跳楼案这种惨案。人的纠纷结起于利益、权力,终于胜者的欢笑、败者的遗憾。

听闻此间种种,究其本质是中华文化的再传承问题。古代从老庄开始至清朝陨灭的天人合一,德行合一,“一陰一陽之謂道,繼之者善也,成之者性也。”究其人生的意义,莫不是一种万物苍生阴阳合而万物生的“道可道,非常道”。中国人受困苦的时间久了,有种出人头地的向往,而西方作为最开始用船坚炮利打开国门的那个怪物,使我华夏儿女对其趋之若鹜。从“世界真大,我想出去看看”到“国外的月亮就是圆”,从而放弃“落叶归根”。说话满腔:“人生下来就一定有原罪,人生的意义就是在赎罪,直到世界末日那天可以得到救赎”。言必称民国时期的鲁迅破后没有完成文化的再立。历史与文化是紧密结合的,文化的断层就是历史的裂缝。当今而立之年的男子,家须与国结合在一起,一个阳刚的男人,不能离于梦境而陷于梦境,落成个沉睡的民族,没有冲破桎梏的觉悟,也竟只是困顿与迷离中的颉颃。

拥有文化的人,能对现世的种种乱象针砭时弊,并淡然面对追本溯源。他知道:“纲举目张,执本末从”。他懂得望眼欲穿而不说破,却也能看懂那些超越时代的领军者。如今的娱乐圈,娘炮当道,日韩文化当道,殊不知是一种日韩化妆品公司和娱乐产业的洗脑手段,先鼓吹化妆的人,无论男女都会显得高级,再以高价卖出。再者说男星网红直播卖唱的,在古代叫伶人,属于比下九流还低的伶人。他们才是真正值得被同情的人。现世社会的主要矛盾是修齐治平,而非哗众取宠,引来一帮娱乐至死的乌合之众。无论昂贵的化妆品还是反串服装在古人看来都是身外之物。苏轼在《宝绘堂记》中说:“君子可以寓意于物,不可留意于物。”若是欣赏风景只能局限于风景本身,终只能浅尝辄止,而不能体察深韵。女生男生貌似都不能免俗。但真正灵魂的交融,还得精神上的阴阳结合。无尽的泡沫铺陈排序,阻挡了心灵的星空布景,创造了一个富丽堂皇的假象。

拥有文化的人,必拥有道德。文化的最高境界是修身齐家治国平天下。穷则独善其身,达则兼济天下;而非穷则报复社会,达则肉林酒池。“君子居其室,出其言,善則千里之外應之,況其邇者乎,居其室,出其言不善,則千里之外違之。”说的是一个君子的内外一致。往生活的琐事里讲,他绝不会拉良家女子下水,但一定会劝风尘女子上岸。往高层建筑衍生,他必然会为了实现人生的意义不断提高自己的修为。他必然满腔热血,先天下之忧而忧,后天下之乐而乐,深知天下兴亡,匹夫有责。林语堂在《吾国与吾民》中畅谈国人的怯懦,借用西方的国族的概念去唤醒更多的兴亡匹夫。与有家国情怀的人相处,虽少了点事故的情趣,却多了份崇高的可爱。

当然,这个世界上有很多否认中华文化存在的意义。鲁迅指出了文化的劣根性,但这种否认不是否认中华文化本身,而是敲醒当时的中华名族。从现实意义上来说,谈及男女之间关系,一定不是盲目的攫取西哲的养分从而忘记了自己的起源。作为中国人,或许很难理解斯宾诺莎的泛神论思想:宇宙的一切就是神本身,也很难理解康德的:事物本身与人所看到的事物是不同的,人永远无法确知事物的真正面貌。抑或是黑格尔的绝对精神:它是宇宙万物的内在本质和核心,万物知识它的外在表现。在寻求叔本华的作为意志和表象的世界,进入了他的虚无主义之后才匍匐着知道:意志是世界的本质。尼采又说,上帝死了,人的本质是强力意志。又试图理解罗素的逻辑学,弗洛伊德的精神分析学,荣格的分析心理学,柏拉图的爱情咖啡馆,斯宾格勒的《西方的没落》,哈贝马斯的马克思公共领域学说,施特劳斯的钢琴曲。这些虽然有的自相矛盾,但都能在一脉相承的中华道儒法学说中找到对应的说法。一个有文化的人,一定有对自己生活着的这片土地的文化自信。唯心的巫术和唯物的哲学或者第二哲学物理似乎是那么的格格不入,两者结合,或者相互借鉴,亦能擦出别样的爱情火花。

参考文献:

1.杜新會,《周易与婚姻》,华夏出版社2009年版。

2.刘大钧,《周易概论》,上海古籍出版社1999年版。

3.孔子等人,《周易》,商务印书馆1988年版。

4.凯伦·阿姆斯特朗,《轴心时代:人类伟大宗教传统的开端》,海南出版社 2010年版。

5.林语堂,《吾国与吾民》陕西师范大学出版社2006年版。

6.苏轼,《苏轼文集》,岳麓书社2000年版。

7.林语堂,《苏东坡传》,陕西师范大学出版社2006年版。

8.黑格尔,《自然哲学》商务印书馆1980年版。

9.张汝伦,《德国哲学十论》复旦大学出版社2004年版

MacVM Hypervisor performance

Mac has launched its API for virtulization and KhaosT has wrapped this api into a fully automated tool to install MacOS on Apple Sillicon just like opening sandbox.

The virtulization API is universal in swift.

let vm = VZVirtualMachine(configuration: configuration, queue: .main)
vm.delegate = self
            
vm.start { [weak self] result in
    switch result {
    case .success:
       self?.document?.isRunning = true
       NSLog("Success")
    case .failure(let error):
       NSLog("Error: \(error)")
     }
}

vm lifecycle

Performance test between M1 and 9700k

# M1 Direct
❯ openssl speed -evp aes-128-cbc aes-256-cbc des-ede3 rsa2048 sha256                                             (base)
Doing sha256 for 3s on 16 size blocks: 13547385 sha256's in 2.98s
Doing sha256 for 3s on 64 size blocks: 6595521 sha256's in 2.91s
Doing sha256 for 3s on 256 size blocks: 2811715 sha256's in 2.98s
Doing sha256 for 3s on 1024 size blocks: 811209 sha256's in 2.90s
Doing sha256 for 3s on 8192 size blocks: 109612 sha256's in 2.96s
Doing sha256 for 3s on 16384 size blocks: 55935 sha256's in 2.94s
Doing des ede3 for 3s on 16 size blocks: 4252004 des ede3's in 2.99s
Doing des ede3 for 3s on 64 size blocks: 1017455 des ede3's in 2.91s
Doing des ede3 for 3s on 256 size blocks: 272326 des ede3's in 2.99s
Doing des ede3 for 3s on 1024 size blocks: 66040 des ede3's in 2.97s
Doing des ede3 for 3s on 8192 size blocks: 8196 des ede3's in 2.94s
Doing des ede3 for 3s on 16384 size blocks: 4052 des ede3's in 2.93s
Doing aes-256 cbc for 3s on 16 size blocks: 28033078 aes-256 cbc's in 2.95s
Doing aes-256 cbc for 3s on 64 size blocks: 7296104 aes-256 cbc's in 2.97s
Doing aes-256 cbc for 3s on 256 size blocks: 1724393 aes-256 cbc's in 2.88s
Doing aes-256 cbc for 3s on 1024 size blocks: 438037 aes-256 cbc's in 2.84s
Doing aes-256 cbc for 3s on 8192 size blocks: 57285 aes-256 cbc's in 2.93s
Doing aes-256 cbc for 3s on 16384 size blocks: 27726 aes-256 cbc's in 2.92s
Doing aes-128-cbc for 3s on 16 size blocks: 91712957 aes-128-cbc's in 2.89s
Doing aes-128-cbc for 3s on 64 size blocks: 24402793 aes-128-cbc's in 2.90s
Doing aes-128-cbc for 3s on 256 size blocks: 8617690 aes-128-cbc's in 2.97s
Doing aes-128-cbc for 3s on 1024 size blocks: 2327697 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 8192 size blocks: 246604 aes-128-cbc's in 2.60s
Doing aes-128-cbc for 3s on 16384 size blocks: 157122 aes-128-cbc's in 2.95s
Doing 2048 bits private rsa's for 10s: 8364 2048 bits private RSA's in 9.92s
Doing 2048 bits public rsa's for 10s: 229578 2048 bits public RSA's in 7.99s
OpenSSL 1.1.1l  24 Aug 2021
built on: Tue Nov 23 07:53:43 2021 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: /Users/yiweiyang/project/spack/lib/spack/env/clang/clang -fPIC  -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/Users/yiweiyang/project/spack/opt/spack/darwin-monterey-x86_64/apple-clang-13.0.0/zlib-1.2.11-fj3aancm72hxjybw6445d5uuftok6jvr/include
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
des ede3         22753.20k    22377.02k    23316.21k    22769.35k    22837.29k    22658.01k
aes-256 cbc     152043.81k   157222.44k   153279.38k   157940.10k   160163.39k   155569.45k
aes-128-cbc     507753.40k   538544.40k   742804.26k   799852.93k   776992.30k   872639.61k
sha256           72737.64k   145056.13k   241543.30k   286440.70k   303358.62k   311713.96k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.001186s 0.000035s    843.1  28733.2

# M1 hypervisor
test-vm@test-vms-Mac ~ % openssl speed -evp aes-128-cbc des-ede3 rsa2048 sha256
Doing sha256 for 3s on 16 size blocks: 12417802 sha256's in 2.91s
Doing sha256 for 3s on 64 size blocks: 8605571 sha256's in 2.73s
Doing sha256 for 3s on 256 size blocks: 7519183 sha256's in 2.97s
Doing sha256 for 3s on 1024 size blocks: 3766735 sha256's in 2.99s
Doing sha256 for 3s on 8192 size blocks: 675151 sha256's in 2.98s
Doing des ede3 for 3s on 16 size blocks: 4212079 des ede3's in 3.00s
Doing des ede3 for 3s on 64 size blocks: 1079073 des ede3's in 2.99s
Doing des ede3 for 3s on 256 size blocks: 274746 des ede3's in 2.98s
Doing des ede3 for 3s on 1024 size blocks: 71968 des ede3's in 2.99s
Doing des ede3 for 3s on 8192 size blocks: 8420 des ede3's in 2.98s
Doing aes-128-cbc for 3s on 16 size blocks: 43091935 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 64 size blocks: 11225248 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 256 size blocks: 2726199 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 1024 size blocks: 673152 aes-128-cbc's in 2.96s
Doing aes-128-cbc for 3s on 8192 size blocks: 82678 aes-128-cbc's in 2.98s
Doing 2048 bit private rsa's for 10s: 4518 2048 bit private RSA's in 9.94s
Doing 2048 bit public rsa's for 10s: 103797 2048 bit public RSA's in 9.94s
LibreSSL 3.3.5
built on: date not available
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: information not available
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
des ede3         22500.93k    23073.39k    23597.93k    24660.00k    23143.85k
aes-128-cbc     231587.58k   239916.76k   234029.06k   233230.99k   227646.27k
sha256           68226.66k   201824.46k   648416.14k  1288982.79k  1855047.46k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.002201s 0.000096s    454.4  10441.9

# 9700K Direct
❯ openssl speed -evp aes-128-cbc aes-256-cbc des-ede3 rsa2048 sha256
Doing sha256 for 3s on 16 size blocks: 21369624 sha256's in 2.86s
Doing sha256 for 3s on 64 size blocks: 11887732 sha256's in 2.92s
Doing sha256 for 3s on 256 size blocks: 5599953 sha256's in 2.97s
Doing sha256 for 3s on 1024 size blocks: 1737136 sha256's in 2.98s
Doing sha256 for 3s on 8192 size blocks: 229175 sha256's in 2.92s
Doing sha256 for 3s on 16384 size blocks: 117287 sha256's in 2.97s
Doing des ede3 for 3s on 16 size blocks: 8288297 des ede3's in 2.99s
Doing des ede3 for 3s on 64 size blocks: 2095278 des ede3's in 2.98s
Doing des ede3 for 3s on 256 size blocks: 525764 des ede3's in 2.98s
Doing des ede3 for 3s on 1024 size blocks: 130040 des ede3's in 2.95s
Doing des ede3 for 3s on 8192 size blocks: 16445 des ede3's in 2.99s
Doing des ede3 for 3s on 16384 size blocks: 8217 des ede3's in 2.98s
Doing aes-256 cbc for 3s on 16 size blocks: 49239507 aes-256 cbc's in 2.98s
Doing aes-256 cbc for 3s on 64 size blocks: 12584820 aes-256 cbc's in 2.99s
Doing aes-256 cbc for 3s on 256 size blocks: 3150137 aes-256 cbc's in 2.98s
Doing aes-256 cbc for 3s on 1024 size blocks: 792478 aes-256 cbc's in 2.99s
Doing aes-256 cbc for 3s on 8192 size blocks: 99018 aes-256 cbc's in 2.98s
Doing aes-256 cbc for 3s on 16384 size blocks: 49599 aes-256 cbc's in 2.99s
Doing aes-128-cbc for 3s on 16 size blocks: 205033256 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 64 size blocks: 84091603 aes-128-cbc's in 2.92s
Doing aes-128-cbc for 3s on 256 size blocks: 21937430 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 1024 size blocks: 5512203 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 8192 size blocks: 689395 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 16384 size blocks: 344040 aes-128-cbc's in 2.99s
Doing 2048 bits private rsa's for 10s: 24679 2048 bits private RSA's in 9.94s
Doing 2048 bits public rsa's for 10s: 800018 2048 bits public RSA's in 9.94s
OpenSSL 1.1.1m  14 Dec 2021
built on: Thu Feb 10 23:52:55 2022 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: /Volumes/DataCorrupted/spack/lib/spack/env/clang/clang -fPIC  -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/Volumes/DataCorrupted/spack/opt/spack/darwin-monterey-skylake/apple-clang-13.0.0/zlib-1.2.11-7yfdtza4upfsjhx6nyigqab6ctnbiqxg/include
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
des ede3         44352.09k    44999.26k    45166.30k    45139.31k    45056.00k    45176.96k
aes-256 cbc     264373.19k   269374.07k   270615.80k   271403.84k   272199.82k   271782.61k
aes-128-cbc    1100849.70k  1843103.63k  1878254.88k  1894126.13k  1895142.23k  1885201.12k
sha256          119550.34k   260553.03k   482689.55k   596921.90k   642945.75k   647013.54k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.000403s 0.000012s   2482.8  80484.7

# 9700K hypervisor
test-vm@macos-12 ~ %  openssl speed -evp aes-128-cbc aes-256-cbc des-ede3 rsa2048 sha256
Doing sha256 for 3s on 16 size blocks: 6998286 sha256's in 1.76s
Doing sha256 for 3s on 64 size blocks: 5937478 sha256's in 2.40s
Doing sha256 for 3s on 256 size blocks: 3640021 sha256's in 2.89s
Doing sha256 for 3s on 1024 size blocks: 1276928 sha256's in 2.99s
Doing sha256 for 3s on 8192 size blocks: 172371 sha256's in 2.98s
Doing des ede3 for 3s on 16 size blocks: 6392897 des ede3's in 2.97s
Doing des ede3 for 3s on 64 size blocks: 1840224 des ede3's in 2.97s
Doing des ede3 for 3s on 256 size blocks: 486441 des ede3's in 2.99s
Doing des ede3 for 3s on 1024 size blocks: 122497 des ede3's in 2.99s
Doing des ede3 for 3s on 8192 size blocks: 15081 des ede3's in 2.98s
Doing aes-256 cbc for 3s on 16 size blocks: 24622581 aes-256 cbc's in 2.96s
Doing aes-256 cbc for 3s on 64 size blocks: 6913334 aes-256 cbc's in 2.99s
Doing aes-256 cbc for 3s on 256 size blocks: 1779287 aes-256 cbc's in 2.99s
Doing aes-256 cbc for 3s on 1024 size blocks: 993353 aes-256 cbc's in 2.98s
Doing aes-256 cbc for 3s on 8192 size blocks: 130072 aes-256 cbc's in 2.99s
Doing aes-128-cbc for 3s on 16 size blocks: 248465144 aes-128-cbc's in 2.96s
Doing aes-128-cbc for 3s on 64 size blocks: 80633266 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 256 size blocks: 20577300 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 1024 size blocks: 5140306 aes-128-cbc's in 2.99s
Doing aes-128-cbc for 3s on 8192 size blocks: 631903 aes-128-cbc's in 2.99s
Doing 2048 bit private rsa's for 10s: 13162 2048 bit private RSA's in 9.97s
Doing 2048 bit public rsa's for 10s: 246512 2048 bit public RSA's in 9.96s
LibreSSL 2.8.3
built on: date not available
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: information not available
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
des ede3         34426.72k    39593.28k    41604.84k    41932.50k    41488.42k
aes-256 cbc     133310.22k   148026.58k   152125.43k   341155.78k   356036.10k
aes-128-cbc    1341209.76k  1730061.34k  1759369.75k  1758876.41k  1729626.63k
sha256           63774.17k   158049.71k   322534.94k   437365.11k   473238.50k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.000758s 0.000040s   1320.1  24743.0

和 Bazinga 的无妆武汉赏樱之旅😄

首先感谢小longwendashen的 Go Pro 6 black

2019 Serendipity

Yiwei Yang 发布于 2019年10月6日周日

一盞離愁 孤單佇立在窗口
我在門後 假裝妳人還沒走
舊地如重遊 月圓更寂寞
夜半清醒的燭火 不忍苛責

我一壺漂泊 浪跡天涯難入喉
妳走之後 酒暖回憶思念瘦
水向東流 時間怎麼偷
花開就一次成熟 我卻錯過

誰在用琵琶彈奏 一曲東風破
歲月在牆上剝落 看見小時候
猶記得那年我們都還很年幼
而如今琴聲幽幽 我的等候 妳沒聽過

誰在用琵琶彈奏 一曲東風破
楓葉將故事染色 結局我看透
籬笆外的古道 我牽著你走過
荒煙漫草的年頭 就連分手都很沉默

一壺漂泊 浪跡天涯難入喉
妳走之後 酒暖回憶思念瘦
水向東流 時間怎麼偷
花開就一次成熟 我卻錯過

誰在用琵琶彈奏 一曲東風破
歲月在牆上剝落 看見小時候
猶記得那年我們都還很年幼
而如今琴聲幽幽 我的等候 妳沒聽過

誰在用琵琶彈奏 一曲東風破
楓葉將故事染色 結局我看透
籬笆外的古道 我牽著你走過
荒煙漫草的年頭 就連分手都

誰在用琵琶彈奏 一曲東風破
歲月在牆上剝落 看見小時候
猶記得那年我們都還很年幼
而如今琴聲幽幽 我的等候 妳沒聽過

誰在用琵琶彈奏 一曲東風破
楓葉將故事染色 結局我看透
籬笆外的古道 我牽著你走過
荒煙漫草的年頭 就連分手都很沉默

centos7/8 podman kernel not support overlayfs

Sounds like I'm messed up the mount of overlay hostPath that stores the containers when updating from centos7 to 8-stream. I also noticed that 9-stream is in beta.

[root@ecs-t6-large-2-linux-20190912001402 ~]# podman ps
Error: kernel does not support overlay fs: 'overlay' is not supported over extfs at "/var/lib/containers/storage/overlay": backing file system is unsupported for this graph driver

For Kubernetes, we automatically apply the pod using yaml file like

metadata:
  name: vo-hostpath-pod
spec:
  containers:
  - name: filebeat
    image: ikubernetes/filebeat:5.6.7-alpine
    env:                            
    - name: REDIS_HOST              
      value: redis.ilinux.io:6379   
    - name: LOG_LEVEL               
      value: info                   
    volumeMounts:                 
    - name: varlog            
      mountPath: /var/log   
    - name: socket                
      mountPath: /var/run/docker.sock
    - name: varlibdockercontainers 
      mountPath: /var/lib/docker/containers
      readOnly: true    
  volumes:            
  - name: varlog  
    hostPath:           
      path: /var/log   
      type: DirectoryOrCreate 
  - name: varlibdockercontainers
    hostPath:
      path: /var/lib/docker/containers
      type: Directory
  - name: socket
    hostPath:
      path: /var/run/docker.sock
      type: Socket              

Debbug the command using strace

newfstatat(AT_FDCWD, "/root/bin/crun", 0xc00019e378, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/bin/runc", {st_mode=S_IFREG|0755, st_size=11889776, ...}, 0) = 0
openat(AT_FDCWD, "/etc/selinux/refpolicy/contexts/lxc_contexts", O_RDONLY|O_CLOEXEC) = 9
epoll_ctl(4, EPOLL_CTL_ADD, 9, {events=EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, data={u32=1719281968, u64=140043422935344}}) = 0
fcntl(9, F_GETFL)                       = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fcntl(9, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0
fstat(9, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0

The open at /etc/selinux/refpolicy/contexts/lxc_contexts is wierd so I think there's sth about the selinux, so I remvoe container-selinux and everythin works fine.

[root@ecs-t6-large-2-linux-20190912001402 ~]# docker ps
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
WARN[0000] Error validating CNI config file /etc/cni/net.d/10-flannel.conflist: [failed to find plugin "flannel" in path [/usr/local/libexec/cni /usr/libexec/cni /usr/local/lib/cni /usr/lib/cni /opt/cni/bin]]
CONTAINER ID  IMAGE       COMMAND     CREATED     STATUS      PORTS       NAMES

Also after upgrade to CentOS 8, don't forget to disable firealld and selinux because it'll update the settings. I debug it through self ping success and couldn't get anything from browser.

[root@ecs-t6-large-2-linux-20190912001402 ~]# sudo ss -tulpn
Netid                 State                  Recv-Q                 Send-Q                                                    Local Address:Port                                  Peer Address:Port                Process
udp                   UNCONN                 0                      0                                                               0.0.0.0:5355                                       0.0.0.0:*                    users:(("systemd-resolve",pid=1045,fd=12))
udp                   UNCONN                 0                      0                                                         127.0.0.53%lo:53                                         0.0.0.0:*                    users:(("systemd-resolve",pid=1045,fd=18))
udp                   UNCONN                 0                      0                                                         192.168.0.173:123                                        0.0.0.0:*                    users:(("ntpd",pid=640,fd=21))
udp                   UNCONN                 0                      0                                                             127.0.0.1:123                                        0.0.0.0:*                    users:(("ntpd",pid=640,fd=18))
udp                   UNCONN                 0                      0                                                               0.0.0.0:123                                        0.0.0.0:*                    users:(("ntpd",pid=640,fd=16))
udp                   UNCONN                 0                      0                                                                  [::]:5355                                          [::]:*                    users:(("systemd-resolve",pid=1045,fd=14))
udp                   UNCONN                 0                      0                                      [fe80::f816:3eff:fe8b:cbe7]%eth0:123                                           [::]:*                    users:(("ntpd",pid=640,fd=22))
udp                   UNCONN                 0                      0                                                                 [::1]:123                                           [::]:*                    users:(("ntpd",pid=640,fd=19))
udp                   UNCONN                 0                      0                                                                  [::]:123                                           [::]:*                    users:(("ntpd",pid=640,fd=17))
tcp                   LISTEN                 0                      9                                                               0.0.0.0:21                                         0.0.0.0:*                    users:(("pure-ftpd",pid=601,fd=5))
tcp                   LISTEN                 0                      511                                                             0.0.0.0:888                                        0.0.0.0:*                    users:(("nginx",pid=2970,fd=20),("nginx",pid=2969,fd=20),("nginx",pid=2792,fd=20))
tcp                   LISTEN                 0                      128                                                             0.0.0.0:8888                                       0.0.0.0:*                    users:(("BT-Panel",pid=764,fd=6))
tcp                   LISTEN                 0                      100                                                           127.0.0.1:25                                         0.0.0.0:*                    users:(("master",pid=1030,fd=16))
tcp                   LISTEN                 0                      511                                                             0.0.0.0:443                                        0.0.0.0:*                    users:(("nginx",pid=2970,fd=22),("nginx",pid=2969,fd=22),("nginx",pid=2792,fd=22))
tcp                   LISTEN                 0                      511                                                           127.0.0.1:6379                                       0.0.0.0:*                    users:(("redis-server",pid=1706,fd=6))
tcp                   LISTEN                 0                      128                                                             0.0.0.0:5355                                       0.0.0.0:*                    users:(("systemd-resolve",pid=1045,fd=13))
tcp                   LISTEN                 0                      1024                                                          127.0.0.1:11211                                      0.0.0.0:*                    users:(("memcached",pid=734,fd=28))
tcp                   LISTEN                 0                      128                                                             0.0.0.0:9999                                       0.0.0.0:*                    users:(("sshd",pid=1244,fd=5))
tcp                   LISTEN                 0                      511                                                             0.0.0.0:80                                         0.0.0.0:*                    users:(("nginx",pid=2970,fd=21),("nginx",pid=2969,fd=21),("nginx",pid=2792,fd=21))
tcp                   LISTEN                 0                      9                                                                  [::]:21                                            [::]:*                    users:(("pure-ftpd",pid=601,fd=6))
tcp                   LISTEN                 0                      100                                                               [::1]:25                                            [::]:*                    users:(("master",pid=1030,fd=17))
tcp                   LISTEN                 0                      150                                                                   *:3306                                             *:*                    users:(("mysqld",pid=2166,fd=19))
tcp                   LISTEN                 0                      128                                                                [::]:5355                                          [::]:*                    users:(("systemd-resolve",pid=1045,fd=15))
tcp                   LISTEN                 0                      1024                                                              [::1]:11211                                         [::]:*                    users:(("memcached",pid=734,fd=29))
tcp                   LISTEN                 0                      128                                                                [::]:9999                                          [::]:*                    users:(("sshd",pid=1244,fd=6))
[root@ecs-t6-large-2-linux-20190912001402 ~]#