2019年8月,AMD創(chuàng)新性地將7nm工藝與最高64核心的第二代EPYC產(chǎn)品帶入了企業(yè)級x86服務器市場。一年時間過去,對于AMD來說,第二代EPYC很好地完成了打開市場的任務。
但僅僅是打開市場卻并非第二代EPYC的全部使命。
一年時間,AMD股價從30.45美元增長至85.55美元,漲幅180.95%
回望一年前的第二代AMD EPYC發(fā)布會,所有受邀發(fā)言客戶均為頂級互聯(lián)網(wǎng)公司和其他擁有超大規(guī)模數(shù)據(jù)中心的大型客戶。顯然,彼時的AMD目標十分明確:通過更高的核心數(shù)量來提升服務器大規(guī)模云化時的計算密度,進而使超大規(guī)模數(shù)據(jù)中心具備更強的服務及運營能力。
GCP上的實例創(chuàng)建頁面,第二代AMD EPYC赫然在列
在AWSEC2上的c5a系列實例皆為第二代AMD EPYC平臺
而從GCP和AWS為代表的一眾頂級云服務提供商的接受度來看,第二代AMD EPYC已經(jīng)很好地完成了發(fā)布之初的既定目標,成功打入了超大規(guī)模云數(shù)據(jù)中心以及頂級CSP市場。
這證明了AMD在芯片設計和市場營銷等方面的成功。但既然第二代AMD EPYC如此成功,何不進一步發(fā)掘一下其潛力呢?
從第二代AMD EPYC產(chǎn)品列表來看,初期的EPYC 7002(第二代EPYC的產(chǎn)品編號)包含22款產(chǎn)品,核心數(shù)量從8到64,在8核、16核、24核、32核、48核、64核等主流核心數(shù)量段位上均安排了3-5款產(chǎn)品;在核數(shù)相同時,不同產(chǎn)品以頻率和L3緩存配置不同加以區(qū)分。
不過,相對于競爭對手基數(shù)龐大的產(chǎn)品線,由22款產(chǎn)品組成的EPYC 7002序列仍舊稍顯單薄。雖然AMD內(nèi)部人士層表示,現(xiàn)階段的AMD并不會將一些核心數(shù)量和頻率的特化型號加入產(chǎn)品計劃之中;但這并不意味著Milan來臨之前,第二代AMD EPYC產(chǎn)品線會止步不前。
于是,AMD在2020年初在EPYC 7002系列之下發(fā)布了全新的7Fx2系列處理器。
7Fx2為更多企業(yè)用戶帶來新選擇
作為Milan發(fā)布之前,第二代AMD EPYC中的最后成員,7Fx2系列包含3款產(chǎn)品,分別是24核心的7F72、16核心的7F52和8核心的7F32。
從3款新處理器與相同核心數(shù)量的原有型號對比中我們可以發(fā)現(xiàn),三款新品除了在核心頻率上有所加強之外,最核心的變動便在于CCD與核心的數(shù)量配比上。
而為了明晰其間的奧秘,我們有必要回顧Rome架構的一些特性。
Rome架構采用Chip Lets方式進行設計,在完整的64核心CPU之中包含了9個Die。9個Die分別是位于中間位置,負責內(nèi)存控制和IO功能的IOD(IO Die);以及位于IOD周邊的8個CCD(Core Compute Die)。
每個CCD內(nèi)部包含兩個CCX(Core Compute CompleX)結構。每個CCX包含4個Zen 2核心以及對應的L1指令及數(shù)據(jù)緩存、L2緩存。而每個CCX之內(nèi)的4個核心則共享16MB的L3緩存。
在了解了這一結構之后,7Fx2三款新品的由來便十分明確。
7F72包含6個CCD,每個CCD之中有4個核心被激活。而由于被激活的4個核心分別位于2個CCX之上,所以每2個核心便可共享該CCX之內(nèi)的全部16MB L3緩存。換句話說,7F72每核心擁有8MB L3緩存;整個CPU共有192MB L3緩存。
作為對比,原先的7402在物理結構上則只包含4個CCD,而每個CCD上的核心也只能分配到4MB L3緩存。這一核心數(shù)量與緩存的配比與64核心的7742保持一致。
同樣的原理,7F32和7F52的核心與緩存配比則更為“奢華”,每個核心都可以用上其所在的CCX之上的全部16MB L3緩存。
當然,除了每核心L3數(shù)量的大升級之外,7Fx2系列也在基礎頻率和Boost頻率上做了幅度不小的升級。
既然頻率獲得了提升、激活了更多的物理結構(包含更多CCD和其上L3緩存),那么處理器的功耗也自然會上漲。于是,我們便可以看到,3款7Fx2新品的默認TDP分別到了240W、240W和180W。
不過AMD相關人士表示,由于原先提供的散熱參考設計仍舊保有余量,因此能夠覆蓋7742級別處理器的散熱裝置和設計可以繼續(xù)在新的7Fx2系列上服役。
在了解了7Fx2系列處理器的特性及其細節(jié)構成之后,問題接踵而至。更新了特性的7Fx2系列處理器究竟面向怎樣的用戶和應用場景?
從AMD的PPT上我們可以看清三款處理器的官方定位——每核心性能以及企業(yè)應用環(huán)境中的領先價值。為了進一步闡明釋意,AMD還附帶了7Fx2系列的三種典型應用場景——超融合基礎設施、商業(yè)HPC應用以及關系型數(shù)據(jù)庫。同時,AMD還給出了其在商業(yè)市場中的最新進展——HPE Nutanix超融合產(chǎn)品、IBM Cloud裸金屬云服務以及超微的Super Blade系列刀片服務器。
在超大規(guī)模云化數(shù)據(jù)中心當中,OS大部分來自開源項目或自研,軟件堆棧的成本相對較低。因此,在通用計算類的云服務場景中,客戶更關心每u所能提供的核心數(shù)量。畢竟,在EC2、Compute Engine等類似的服務中,實例是按照CPU的等級與核心數(shù)量來收費的。
而在企業(yè)環(huán)境中,軟件堆棧大多來自商業(yè)授權,按照運行軟件的Socket數(shù)量、核心數(shù)量甚至線程數(shù)量來收費。因此,在絕大部分商業(yè)應用中,用戶關心的核心并非計算密度或核心數(shù)量,而是每個核心是否能夠提供更高性能。由此,企業(yè)用戶便可通過基礎架構更新所帶來的核心性能提升來獲得軟件成本與基礎架構成本之間的全新平衡,進而降低商業(yè)應用的總成本。
顯然,基于現(xiàn)有的Rome架構,繼續(xù)推高頻率和每核心緩存數(shù)量的EPYC 7Fx2系列,對于更多企業(yè)用戶來說,會更接近他們的“甜蜜點”。
之于AMD,雖然超大規(guī)模云化數(shù)據(jù)中心能夠為自身品牌和EPYC這一系列帶來足夠大的關注度和話題點,但超大規(guī)模數(shù)據(jù)中心本身并非行業(yè)的主流。因此,已經(jīng)在這一市場斬獲頗豐并引發(fā)市場和用戶的足夠關注之后,順勢推出市場覆蓋面更廣的、面向普通企業(yè)級應用的更多產(chǎn)品才是將關注轉化為收入的正確方法。
7Fx2系列產(chǎn)品所承擔的任務正是如此。
基礎特性的升級讓AMD有更多本錢來滿足企業(yè)市場的需求,但這片市場也并非未被開墾的處女地。想要在這一市場獲得成功,AMD不僅要為用戶提供令人滿意的性能,更需為用戶帶來令人滿意的價格。
從目前已經(jīng)掌握的信息來看,按官方指導價格(美元),7F72定價2450,7F52定價3100,7F32定價2100。
卡位8核的競爭對手,價格從2200美元到3400美元(去掉某些字母結尾的特化型號)。但從產(chǎn)品序列的厚度來看,8核心產(chǎn)品并非競爭對手企業(yè)級產(chǎn)品的主力關注領域。相反,有很多消費級、工作站W(wǎng)產(chǎn)品則在這一領域多有布局。即便拋開所有Rome架構的特性不談,單從價格來看,EPYC 7F32的2100美元定價便具備相當?shù)奈Α?/span>
點擊圖片放大
卡位16核的競爭對手,價格從1400美元到3300美元;如果包含L結尾的超長生命周期型號的話,價格區(qū)間也會上探到約4800美元左右。而從表格寬度和競品數(shù)量來看,16核心已經(jīng)進入了主力產(chǎn)品區(qū)間。在價格層面,7F52定價3100美元,在16核心產(chǎn)品之中也屬于高端產(chǎn)品。顯然,要在這一定位中有所斬獲,EPYC 7F72需要提供更強的性能;而這正是7F72所配備的256MBL3緩存、更高的頻率以及8通道內(nèi)存控制器的用武之地(當然,這里我們也需要提出,AMD與競品采用的緩存架構不一樣,競品的優(yōu)勢在于更大的L2,而Rome的優(yōu)勢則在于L3更大)。
點擊圖片放大
而到了24核產(chǎn)品線,競品的布局則可以用更加細密來形容,產(chǎn)品序列從Gold到Platium,價格范圍也從1400美元左右到7000美元左右。7F72定價2450美元,單看價格便知是瞄準性價比而去的。
從AMD EPYC 7Fx2系列三款產(chǎn)品的價格層面,我們可以看出,雖然同屬一個系列,但在不同的定位中,其目標細分卻是有所不同的。除了在8核層面具備絕對價格優(yōu)勢的7F32,剩下兩款7F52和7F72均會面對來自競爭對手相似定位產(chǎn)品的阻力。
7F52和7F72能否在自身的定位中獲得比較優(yōu)勢,性能表現(xiàn)是關鍵。而這也正是本篇評測所關注的重點。
測試說明:
本次測試通過遠程接入AMD測試機房的形式來進行。
系統(tǒng)配置:
AMD雙路服務器使用了兩顆AMD EPYC 7F72 24核處理器,支持超線程。如此,在系統(tǒng)中我們可以看到這臺服務器有96個邏輯CPU。在測試中,Numa Nodes設置為2。
CPU信息:
具體到NUMA節(jié)點的設置,我們使用numactl進行了讀?。?/span>
NUMAnode0 CPU(s): ? 0-23,48-71
NUMAnode1 CPU(s): ? 24-47,72-95
++ numactl -H
available:2 nodes (0-1)
node0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2348 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 7071
node0 size: 257847 MB
node0 free: 244781 MB
node1 cpus: 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4344 45 46 47 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 9091 92 93 94 95
node1 size: 258009 MB
node1 free: 242836 MB
nodedistances:
node ?0 ? 1
0: ?10 32
1: ?32 10
可以看到兩個NUMA node均分了邏輯CPU和512GB的內(nèi)存。AMD雙路服務器以性能見長,在此我們通過實驗對這臺服務器的性能進行了全面的評估。測試環(huán)境及工具如下:
CPU:AMD EPYC 7F72 24-Core Processor x2
Memory:512GB
Storage:NVMe SSD x1
OS:CentOS Linux release 8.1.1911 (Core)
Kernel:4.18.0-147.8.1.el8_1.x86_64
MySQL:MySQL8.0
Linpack:HPLinpack 2.3
Sysbench:sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
TPCCTest tool :PerconaTPCC-MySQL
HPL Linpack 2.3測試
Linpack是目前流行的理論性能測試工具,用于測試系統(tǒng)的浮點運算性能。在這一項目中我們使用更能突出系統(tǒng)并行計算能力的HPL Linpack 2.3來進行測試。
測試中,關鍵參數(shù)的設置為P=4,Q=3,N=239008, NB= 224。測試執(zhí)行了4056秒,最終結果為PASSED,這款AMD EPYC 7F72雙路服務器獲得了2171.3 Gflops的成績。
Sysbench 1.0.20測試
SysBench是一個模塊化的、跨平臺、多線程基準測試工具,主要用于評估測試各種不同系統(tǒng)參數(shù)下的數(shù)據(jù)庫負載情況;其中包括CPU、磁盤IO、調(diào)度程序性能、內(nèi)存、POSIX線程性能、數(shù)據(jù)庫性能(OLTP)等數(shù)個基準測試模塊。在這里我們主要選取CPU、內(nèi)存以及OLTP的測試結果。編譯器方面,我們使用的是LuaJIT2.1.0 beta2。
CPU:
Sysbench CPU測試使用1,4,16,32,48,64,80,96及128線程分別對服務器壓測300s,并記錄雙路AMD EPYC 7F72的速度及延時數(shù)據(jù)。結果如下圖所示:
隨著壓力逐步上升,測試成績也被劃為三個階段,第一個階段壓力明顯偏小,CPU每秒鐘執(zhí)行的events數(shù)隨著壓力升高而升高,并且延時一直保持在2ms以內(nèi)。當Threads超過48是,CPU測試成績趨近于35000,而延時小幅增長,但是仍然低于3ms。第三個階段,當壓力超過系統(tǒng)的邏輯CPU數(shù)時,延時明顯升高。Thread=96時,CPU Speed為34885.8 events/s,同時延時(95%)為2.76ms。
內(nèi)存:
Sysbench內(nèi)存測試中我們使用了1,4,16,32,48,64,80,96,128幾種Threads幾種不同的壓力做4k寫測試,每種壓力測試10s。與CPU測試不同的是,這里我們展示的是內(nèi)存寫帶寬和最大延時。
當Thread為1時,此時負載完全是4k順序寫,內(nèi)存帶寬成績達到本次測試最大值13825.82MiB/s,此時最大延時為0.07ms。
OLTP:
Sysbench的OLTP測試則是模擬一個數(shù)據(jù)庫的壓測環(huán)境,對服務器性能進行全面評估。這項測試中我們將Sysbench的Tablesize分別設置為200000,500000,1000000,1500000,2000000;并使用32,48,64,80,96,128等幾種不同的Threads參數(shù)進行組合測試。結果如下圖:
本次測試固定為100個Table,將單個Table的數(shù)據(jù)量作為測試數(shù)據(jù)量規(guī)模的主要變量,而并發(fā)線程數(shù)作為并發(fā)壓力的主要變量。從測試結果來看,在不同Table大小的情況下,線程數(shù)增加可以帶來性能成線性增加,并且始終保持著5ms以內(nèi)的低延時,并在最大并發(fā)壓力128線程時取得最好的成績,可以看出不同Table大小設置對于性能表現(xiàn)的影響并不大。顯然,這與測試環(huán)境本身配置的512GB大內(nèi)存有直接關系,如果MySQL的緩存被占滿,數(shù)據(jù)需要不斷下刷到SSD,屆時延時將會明顯升高。
峰值性能出現(xiàn)在Table大小為20W,線程數(shù)為128時,此時峰值性能為47873.84TPS,95%延時為4.25ms。
MySQL8 TPCC基準測試
此項測試中我們使用的數(shù)據(jù)庫是Oracle官方的MySQL8.0,并使用Perconas的TPCC-MySQL工具進行測試。
TPCC是TPC(Transaction Processing PerformanceCouncil)設計的一個OLTP基準測試規(guī)范,TPCC模擬的是一個大型商品批發(fā)商的在線訂單處理系統(tǒng);這一大型商品批發(fā)商擁有N個位于不同區(qū)域的倉庫,每個倉庫負責為10個銷售點供貨,每個銷售點有3000個客戶,每個客戶平均一個訂單有10 項產(chǎn)品。
TPCC測試模型(source:http://www.tpc.org/)
TPCC測試涉及到了新訂單處理、更新客戶賬戶余額并反饋支付狀態(tài)、發(fā)貨、查詢客戶交易記錄及倉儲狀態(tài)等操作。其中每分鐘的新訂單量也被稱為TpmC,是TPCC測試最重要的指標。
通過設置倉庫個數(shù)(N)的值及并發(fā)連接數(shù),可以調(diào)節(jié)TPCC測試的壓力。由于TPCC測試涉及的操作類型較多,所以應用下發(fā)的I/O模型是個復雜的混合讀寫模型。因此,TPCC測試是一個對系統(tǒng)、CPU、內(nèi)存及存儲等組件綜合性能及穩(wěn)定性的評估方案。
TPC不提供基準測試程序的代碼,而只給出基準程序的標準規(guī)范。目前,很多廠商和實驗室給出了符合TPCC測試規(guī)范的應用,本次我們測試使用的Percona TPCC-MySQL測試工具便是其中使用較為廣泛的一種。
此次TPCC測試我們共生成了10000個倉庫,整個數(shù)據(jù)庫超過1.1TB,如此的數(shù)據(jù)庫規(guī)??梢宰寜簻y短時間內(nèi)充滿系統(tǒng)Cache,讓系統(tǒng)性能趨于穩(wěn)定,避免大容量內(nèi)存帶來的結果偏高的現(xiàn)象。測試中將使用32,48,64,80,96,128幾種不同的連接數(shù)對服務器進行壓測,每次壓測時間為30分鐘(每次測試之前我們都會重啟MySQL服務,以規(guī)避上次測試的影響)。首先是不同連接數(shù)的TPCC測試結果:
可以看到當Connection為48時,AMD EPYC 7F72雙路系統(tǒng)的TPCC測試可以達到298951.875的TpmC的成績。具體到Connection為48的這項測試,結果如下圖:
可以看到TpmC值不足30萬的實踐主要集中在前10分鐘,而之后的測試結果處于30萬附近,且隨時間的推進,測試成績也趨于穩(wěn)定。
OracleDB TPCC測試
最后,我們選擇了商用數(shù)據(jù)庫中最主流的產(chǎn)品——OracleDB來測試AMD EPYC 7F72雙路系統(tǒng)的性能表現(xiàn)。
與之前使用的MySQL測試類似,通過設置倉庫個數(shù)(N)的值及并發(fā)連接數(shù),可以調(diào)節(jié)OracleDB的TPCC測試壓力。測試中我們分別設置了1000、5000和12000三種warehouse數(shù)量,測試其在48、96、144和192個連接情況下的性能表現(xiàn)。
從上面的測試結果當中,我們可以看出無論warehouse數(shù)量多寡,峰值性能總是出現(xiàn)在96連接時。而在1000warehouse設置下,TPCC性能達到了峰值,為480,135TpmC。
在不同的warehouse數(shù)量的設置當中1000和5000的峰值性能表現(xiàn)較為接近;而當warehouse數(shù)量來到12000時,性能下降則比較明顯,并且不同連接數(shù)時的性能差異也在收窄,說明這一數(shù)量的warehouse已經(jīng)達到了雙路7F72系統(tǒng)的性能瓶頸。
在相同的系統(tǒng)環(huán)境下,我們通過更換處理器的方式進行AMD EPYC 7F52雙路處理器的性能測試。NUMA Nodes同樣設置為2。
CPU信息:
系統(tǒng)環(huán)境如下:
AMD EPYC 7F52 16-Core Processor x2
Memory:512GB
Storage:NVMe SSD x1
OS:CentOS Linux release 8.1.1911 (Core)
Kernel:4.18.0-147.8.1.el8_1.x86_64
MySQL:MySQL 8.0
Linpack:HPLinpack 2.3
Sysbench:sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
TPCCTest tool :PerconaTPCC-MySQL
HPL Linpack 2.3測試
Linpack是目前流行的理論性能測試工具,用于測試系統(tǒng)的浮點運算性能。在這一項目中我們使用更能突出系統(tǒng)并行計算能力的HPL來進行測試。其中關鍵參數(shù)P=4,Q=4,N=239008, NB= 224.測試執(zhí)行了4056秒,最終結果為PASSED,這款AMD EPYC 7F52雙路服務器獲得了1616.8Gflops的成績。
Sysbench 1.0.20測試
SysBench是一個模塊化的、跨平臺、多線程基準測試工具,主要用于評估測試各種不同系統(tǒng)參數(shù)下的數(shù)據(jù)庫負載情況;其中包括CPU、磁盤IO、調(diào)度程序性能、內(nèi)存、POSIX線程性能、數(shù)據(jù)庫性能(OLTP)等數(shù)個基準測試模塊。在這里我們主要選取CPU、內(nèi)存以及OLTP的測試結果。編譯器方面,我們使用的是LuaJIT2.1.0 beta2。
CPU:
Sysbench CPU測試使用1,4,16,32,48,64,80,96及128線程分別對服務器壓測300s,并記錄雙路AMD EPYC 7F52的速度及延時數(shù)據(jù)。結果如下圖所示:
隨著壓力逐步上升,測試成績也被劃為三個階段,第一個階段壓力明顯偏小,CPU每秒鐘執(zhí)行的events數(shù)隨著壓力升高而升高,并且延時一直保持在2ms以內(nèi)。當Threads數(shù)量超過64時,CPU測試成績趨近于最高的24500左右,而延時小幅增長至2.6ms左右。第三個階段,當壓力超過系統(tǒng)的邏輯CPU數(shù),延時明顯升高。Thread=64時,CPU Speed為24511.22events/s,同時延時(95%)為2.61ms。
內(nèi)存:
Sysbench內(nèi)存測試中我們使用了1,4,16,32,48,64,80,96,128幾種Threads幾種不同的壓力做4k寫測試,每種壓力測試10秒。與CPU測試不同的是,這里我們展示的是內(nèi)存寫帶寬和最大延時。
當Thread為1時,此時負載完全是4k順序寫,內(nèi)存帶寬成績達到本次測試最大值14419.09MiB/s,此時延時小于0.01ms(推測受限于sysbench報告的0.01ms,測試中看到的是0。)
OLTP:
Sysbench的OLTP測試則是模擬一個數(shù)據(jù)庫的壓測環(huán)境,對服務器性能進行全面評估。這項測試中我們將Sysbench的Tablesize分別設置為200000,500000,1000000,1500000,2000000,并與32,48,64,80,96,128幾種不同的Threads參數(shù)進行組合測試。結果如下圖:
從測試結果來看,在不同Table大小的情況下,128線程的設置均能夠取得最好的成績,且不同Table大小設置對于性能表現(xiàn)的影響并不大。顯然,這與測試環(huán)境本身配置的512GB大內(nèi)存及強大的整體性能有直接關系;即便Table大小達到200W,仍然沒有達到服務器的性能上限。
測試中的峰值性能出現(xiàn)在Table大小為20W、線程數(shù)為128時,此時峰值性能為33202.08TPS。
MySQL8 TPCC基準測試:
此項測試中我們同樣使用了Oracle發(fā)布的MySQL8,并使用Percona發(fā)布的TPCC-MySQL工具進行測試。
此次TPCC測試我們共生成了10000個倉庫,整個數(shù)據(jù)庫超過1.1TB。
測試中將使用8,16,32,64,128幾種不同的連接數(shù)對服務器進行壓測,每次壓測時間為30分鐘(每次測試之前我們都會重啟MySQL服務,以規(guī)避上次測試的影響)。首先是多次TPCC測試的結果:
可以看到當Connection為64時,AMD EPYC 7F52的TPCC測試可以達到峰值的243537.266TpmC。在Connection為64時,隨時間變化的性能曲線如下圖:
從上面的圖標中,我們可以看到,隨著測試的進行,系統(tǒng)在前13分鐘內(nèi)性能穩(wěn)步上升,并在第16分鐘時達到峰值。但隨著測試的繼續(xù)進行,MySQL的緩存逐漸消耗殆盡,數(shù)據(jù)需要下刷到磁盤,系統(tǒng)性能會出現(xiàn)輕微波動和緩慢下降,從測試看系統(tǒng)綜合性能最后仍會穩(wěn)定在24萬TpmC附近。
憑借優(yōu)秀的Rome架構,AMD終于再次向更主流的企業(yè)級市場發(fā)起了進攻。
而與以往不同的是,此次蓄力而來的AMD帶著的是在超大規(guī)模處理器市場所積累的優(yōu)秀口碑、EPYC 7Fx2系列和眾多產(chǎn)品的優(yōu)秀性能以及Rome架構本身的眾多先進特性。與此同時,AMD更為此次的EPYC 7Fx2系列產(chǎn)品規(guī)劃了優(yōu)異的性價比。
7Fx2系列雖是Rome系列的最后成員,但其為AMD所打開的企業(yè)級市場大門卻讓AMD和整個市場都可以在2020年市場和之后即將發(fā)布的Milan中期待更多。
AMD在企業(yè)級市場的再次崛起與其近年來帶給用戶的更多驚喜說明一個道理,盡管路長且險,但未來仍未有定數(shù);技術不停歇,我們都應保持期待。
【IT葡萄皮】(公眾號:itopics)由資深媒體人張垞運營。從業(yè)十二年的深度觀察,只為一篇不吐不快的科技評論。
聯(lián)系方式
電話:18612920630
電子郵件:69240891@163.com
微信:z87136954
QQ:87136954
免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!