月度归档: 2021 年 6 月

excel表列序号与十进制数字的互相转化算法讲解!

excel表列序号与十进制数字的互相转化算法讲解!
免费获得鹅厂游戏运研《白皮书》,还有机会获得精美*品!
揭秘鹅厂游戏运维研发的架构部署与技术实践之道,限时免费获取
日常生活中excel的使用大家都不陌生,可能几列的表格我们还能脑海中参照A-Z来区分对应的数字应该是几。但有的表格列过多,或者鼠标一甩到了很后面的位置,好几个字母拼起来,一时间很难反映过来对应的数字是多少列。所以今天力扣这两道算法题,就帮我们解决了这个问题。当然近半年的这两题的出题公司有:
微软 6次
Shopee 3次
苹果 2次
高盛 2次
额,居然没有国内大厂?是要把excel换成WPS,才更贴切国内考点吗?哈哈….
下来,让我们逐个题目分析下解题方法吧!
171.Excel表列序号
https://leetcode-cn.com/problems/excel-sheet-column-number/solution/171excelbiao-lie-xu-hao-xiang-xi-jie-xi-4bygt/
难度:简单
题目
给定一个Excel表格中的列名称,返回其相应的列序号。 例如,
A -> 1
    B -> 2
    C -> 3
    …
    Z -> 26
    AA -> 27
    AB -> 28
    …
示例
示例 1:
输入: “A”
输出: 1
示例 2:
输入: “AB”
输出: 28
示例 3:
输入: “ZY”
输出: 701
分析
关于excel列表序号,先来看这道简单的开胃菜题目,之后还有逆向的对比题目:
168.Excel表列名称
由于excel列表是A-Z的26位数字, 当数字为27时就变成了AA,那么很明确是26进制。
将这道题转化为26进制转10进制的思路后,就很简单了。由于columnTitle是字符串类型, 我们就举个关于十进制字符串求总和的例子,来套用这道题。
如何将’123’转化为十进制数?大佬们要说了int(123),如果是要说这种解题思路, 那来来来键盘给你,你来写(这里举例子10进制只是为了方便大家理解)。
首先我们需要定义初始num = 0
然后for循环每一个字符串
现将上一次计算的num * 进制数(这里为10),然后在加上当前的数字
重复3动作*终求总和后返回结果即可。
有了上面的思路,那这道题照搬模板打套路就好了。这里唯一要注意的一点是,excel中 A-Z代表1–26,是没有0的,所以当我们获取到每一位的字符串时通过ord(‘string’) – ord(‘A’) + 1的公式获取结果,当然为了运行加速, 简便的方式就是 ord(‘A’) – 1 = 65 – 1 =
64,改写为 ord(‘string’) – 64。 算法本身就是扣细节的事情,能省则省。来看看解题:
解题
class Solution:
    def titleToNumber(self, columnTitle):
        ret = 0
        for i in columnTitle:
            ret = ret * 26 + ord(i) – 64
        return ret
有了这道题的基础,再来看下面这道逆向转换的题目,就更简单了。
168.Excel表列名称
https://leetcode-cn.com/problems/excel-sheet-column-title/solution/168excelbiao-lie-ming-cheng-excelbiao-mi-sv3v/
难度:简单
题目
给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。
提示:
1 <= columnNumber <= 231 – 1
例如:
A -> 1
B -> 2
C -> 3
Z -> 26
AA -> 27
AB -> 28
示例
示例 1:
输入:columnNumber = 1
输出:”A”
示例 2:
输入:columnNumber = 28
输出:”AB”
示例 3:
输入:columnNumber = 701
输出:”ZY”
示例 4:
输入:columnNumber = 2147483647
输出:”FXSHRXW”
分析
在看这道题之前,建议大家先去阅读下它的逆向题目,看过之后更便于理解这道题。
171.Excel表列序号
如果excel的设计A-Z代表0-25,那么就没什么难度了,可是偏偏代表的是1-26,没有零什么事儿!
首先要明确27的excel列表名称是AA,就很明确的告诉大家这是一道10进制转26进制的题目。
唯一绕的就是,我们如何让每一位都从0开始呢?其实想想很简单,每一位的时候,
我们先将当前值减去1,再做计算不就好了嘛!
这里用到python的divmod方法,简便求出结果:商,余数 = divmod(被除数,除数)
至于65,则是由于chr(65) = “A”,既然已经知就没必要每次再转换了…
解题
class Solution:
    def convertToTitle(self, columnNumber: int) -> str:
        ret = ”
        while columnNumber:
            columnNumber -= 1
            columnNumber, num = divmod(columnNumber, 26)
            ret = chr(65 + num) + ret
        return ret

怎样使用代理服务器上网?

电脑本身的服务器必须要通过局域网内服务器的代理才能上网,当我们想要通过服务器再使用代理要怎么办呢?下面针对大家想设置代理服务网实现上网,给大家详细介绍下步骤内容,方便大家进行设置哦~

代理服务器的好处:

1、使用代理服务器能以更高的可靠性开发网站,从而减少爬虫受禁或受阻的情况。

2、代理服务器可使你从特定地理区域或设备上发出请求。

3、使用代理池可以向目标网站发出更高的请求,而不会被禁止。

实现步骤:

1、双击QQ图标,打开QQ登录界面,我们就可以看到界面右上角有一个“设置”按钮。
%title插图%num

2、点击“设置”按钮,界面翻转过来就是网络设置的界面了,默认状态下是“不使用代理”。

%title插图%num

3、点击右侧的朝下的小箭头,就会看到“HTTP代理”“SOCKS5代理”“使用浏览器设置”的选项。

%title插图%num

以上就是关于代理服务器上网的设置了,大家感兴趣的话不妨尝试下哦~

服务器的运营

服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

我们可以把服务器看做一个特殊的、功能强大、没有外接设备(屏幕、键盘、鼠标)的电脑。所以,同电脑一样,一个服务器一个IP,一些大公司,拥有成千上万个服务器。这时候,我们访问,众所周知,是通过主机域名来访问资源,服务器随机分配。

开发服务器的语言:开发服务器的语言很多:Java、PHP、.net、node.js、python、go、ruby、erlang等等,不同语言开发的服务器,对应的配置电脑为服务器的软件也不一样(这里说的都是Windows系统的)。

java — Tomcat

php — wamp (w-windows、a-apache、m – mysql、p-php)

node.js — NodeJS服务器(Server)指:
一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器(能使用户在其它计算机访问文件),数据库服务器和应用程序服务器。
运行以上软件的计算机,或称为网络主机(Host)。
一般来说,服务器通过网络对外提供服务。可以通过Intranet对内网提供服务,也可以通过Internet对外提供服务。
定义[编辑]

有时,这两种定义会引起混淆,如Web服务器。它可能是指用于网站的计算机,也可能是指像Apache这样的软件,运行在这样的计算机上以管理网页组件和回应网页浏览器的请求。
服务器(硬件)[编辑]

服务器作为硬件来说,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。服务器与PC机的不同点很多,例如PC机在一个时刻通常只为一个用户服务。服务器与主机不同,主机是通过终端给用户使用的,服务器是通过网络给客户端用户使用的。
和普通的PC相比, 服务器需要连续的工作在7X24小时环境。这就意味着服务器需要等多的稳定性技术RAS,比如支持使用ECC内存。
根据不同的计算能力,服务器又分为工作组级服务器,部门级服务器和企业级服务器。服务器操作系统是指运行在服务器硬件上的操作系统。服务器操作系统需要管理和充分利用服务器硬件的计算能力并提供给服务器硬件上的软件使用。
现在,市场上有很多为服务器作平台的操作系统。类Unix操作系统,由于是Unix的后代,大多都有较好的作服务器平台的功能。常见的类Unix服务器操作系统有AIX、HP-UX、IRIX、Linux、FreeBSD、Solaris、Mac OS X Server、OpenBSD、NetBSD、和SCO OpenServer。微软也出版了Microsoft Windows服务器版本,像早期的Windows NT Server,后来的Windows 2000 Server和Windows Server 2003和Windows Server 2008,乃至现在的Windows Server 2012。

服务器软件的定义如前面所述,服务器软件工作在客户端-服务器或浏览器-服务器的方式,有很多形式的服务器,常用的包括: 文件服务器(File Server) – 如Novell的NetWare 数据库服务器(Database Server) – 如Oracle数据库服务器,MySQL,PostgreSQL,Microsoft SQL Server等 邮件服务器(Mail Server) – Sendmail,Postfix,Qmail,Microsoft Exchange,Lotus Domino等 网页服务器(Web Server) – 如Apache,thttpd,微软的IIS等 FTP服务器(FTP Server) – Pureftpd,Proftpd,WU-ftpd,Serv-U等 域名服务器(DNS Server) – 如Bind9等 应用程序服务器(Application Server/AP Server) – 如Bea公司的WebLogic,JBoss,Sun的GlassFish 代理服务器(Proxy Server) – 如Squid cache 电脑名称转换服务器 – 如微软的WINS服务器

以后服务器的学习历程会持续补充。

服务器系统+服务器脚本

常见服务器系统
Linux(RedHat,CentOS,Debian,Ubuntu)
Windows Server
macOS Server

常见服务器脚本
注:服务器接收到浏览器发送的请求后,WEB容器接受请求处理后,然后返回请求给服务器,*后在浏览器接收相应并显示。但WEB容器并没有处理功能,这时就用到了WEB服务器程序/服务器脚本。
Asp,Aspx(Windows)
PHP(Windows,Linux,macOS)
JSP(Windows,Linux,macOS)
python(Windows,Linux,macOS)

怎样处理网站服务器攻击

网站服务器遭受服务器攻击是在所难免的事情,相信许多的站长都遇到过这种事情吧!但是如何预防和处理服务器攻击的善后事宜呢?!下面广州seo小李子和大家分享如何处理网站服务器攻击!

1、发现服务器被入侵,应立即关闭所有网站服务,暂停至少3小时。

很多站长朋友可能会想,不行呀,网站关闭几个小时,那该损失多大啊,可是你想想,一个可能被黑客修改的钓鱼网站对客户的损失大,还是一个关闭的网站呢?你可以先把网站暂时跳转到一个单页面,上面写上一句话:网站维护中,预计3小时后开启访问,请各位稍后进行访问,联系方式:xxx,即可解决这个问题。

2、下载服务器日志(如果没被删除的话),并且对服务器进行全盘杀毒扫描。

这将花费你将近1-2小时的时间,但是这是必须得做的事情,你必须确认黑客没在服务器上安装后门木马程序,同时分析系统日志,看黑客是通过哪个网站(一般被挂马的那个网站可能存在漏洞),哪个漏洞入侵到服务器来的。找到并确认攻击源,并将黑客挂马的网址和被篡改的黑页面截图保存下来,还有黑客可能留下的个人IP或者代理IP地址。

3、为系统安装*新的补丁,当然还有所有运行着的服务器软件。

window系统打上*新的补丁,然后就是mysql或者sql数据库补丁,还有php以及IIS,serv-u就更不用说了,经常出漏洞的东西,还有就是有些IDC们使用的虚拟主机管理软件,如N点虚拟主机管理软件、易方管理软件、华众管理软件等等。

4、为网站目录重新配置权限,关闭删除可疑的系统账户。

关闭删除所有可疑的系统帐号,尤其是那些具有高权限的系统账户!重新为所有网站目录配置权限,关闭可执行的目录权限,对图片和非脚本目录做无权限处理。

5、重新设置各种管理密码,开启防火墙进行端口过滤。

完成以上步骤后,你需要把管理员账户密码,以及数据库管理密码,特别是sql的sa密码,还有mysql的root密码,要知道,这些账户都是具有特殊权限的,黑客可以通过他们得到系统权限!

6、接下来,你需要对网站挨个进行处理。

web服务器,一般都是通过网站漏洞入侵的,你需要对网站程序进行检查(配合上面的日志分析),对所有网站可以进行上传、写入shell的地方进行严格的检查和处理。

完备的善后工作:为服务器安装一个嗅探及蜜罐工具,对服务器日志进行远程备份服务,对所有网站的数据和程序进行备份操作,防止黑客恶意删除网站数据造成经济损失。在接下来的几天里要密切关注服务器和网站的运行情况,看是否还会出现黑客攻击的情况发生,然后根据日志发现并修补那些未知的漏洞。

DNS缓存服务器投毒攻击

只要黑客想这么做,那我可以保证,您访问的Google,*不是Google,淘宝也不是淘宝,而是一个伪装的网站,2008年,给ISP的DNS缓存服务器投毒是安全界*热门的话题,并且,这个问题仍然无法解决……

通过本文,会看到一些奇妙的事情:

1、您发现在自家电脑的浏览器里输入www.91ri.org,访问的却是矛盾网。

2、随意的给google加个子域名,比如test.91ri.org。

他们都基于一个技术 -- 给ISP(如,电信/网通)的DNS缓存服务器投毒,也称作UDP会话劫持。
* 投毒原理

首先,您必须明白DNS的工作原理(详细的DNS原理)
DNS投病

先看蓝色的线条,这是正常的DNS解析流程

DNS投病

1)终端电脑(您的个人电脑)在用浏览器访问网页时,首先要在浏览器的地址栏中填入一个网址(如,www.91ri.org),可我们的个人电脑必须知道这个网址对应的IP地址,才可以正常浏览网页(如,www.91ri.org对应的IP地址是1.1.1.1)。于是,你的电脑就发送一个解析请求给暂存DNS伺服器,这个请求其实就是一句话“您能告诉我www.91ri.org对应的IP地址吗?”

2)如果暂存DNS伺服器上没有www.91ri.org对应的IP地址,则暂存DNS伺服器就会通过迭代的方法*后询问主要DNS伺服器。主要DNS伺服器上保存有www.91ri.org对应的IP地址。

3)主要DNS伺服器响应暂存DNS伺服器的请求,其实就是一句话“www.91ri.org对应的IP地址是1.1.1.1”。

4)暂存DNS伺服器收到主要DNS伺服器的应答后,把应答消息转发给一开始询问自己的那台个人电脑。

5)您的浏览器使用这个正确的IP访问Google主页。

这就意味着,黑客只要伪造响应报文给暂存DNS伺服器,暂存DNS伺服器上就记录了错误的域名到IP地址的对应关系,然后暂存DNS伺服器把这个错误的对应关系发给先前查询的用户计算机的浏览器,这样,您尽管在浏览器里输入的是www.91ri.org,可访问的确不是真正的IP地址,这个地址是黑客任意指定的。

红色线条是黑客在您DNS解析时的投毒过程

1)用户请求暂存DNS伺服器返回www.91ri.org的IP地址。

2)如果暂存DNS伺服器上没有www.91ri.org对应的IP地址,暂存DNS伺服器就会通过迭代的方法*后询问主要DNS伺服器。

3)在主要DNS伺服器还未返回给暂存DNS伺服器时,黑客趁此时间空隙,把错误的对域名到IP的应关系告诉暂存DNS伺服器,这就是给DNS缓存服务器的一次投毒。

4)暂存DNS伺服器回应给用户错误的域名到IP对应关系。

5)用户访问黑客任意指定的IP地址,比如指向矛盾网(矛盾网因此获得了非常高的流量,如果矛盾网想冒充网上银行也是可以的)。

因为暂存DNS伺服器会在一段时间内发送多个DNS查询报文,所以为了使查询报文与响应报文匹配,在DNS的报头中使用了ID字段,响应的报头ID必须与先前发出去的查询报头ID一致才会被暂存DNS伺服器收录,否则丢弃。所以,黑客若想投毒成功,必须猜中查询报文的ID号。DNS报头的ID号是16位2进制,也就是有2的16次方=65536个ID号,这就是说黑客一次投毒的命中率是1/65536,不过只要攻击程序稍微优化一下,这个命中率可以缩小到1/655,几秒钟就可以搞定。
* 攻击测试

测试目的
仅为了引起ISP(比如,电信、网通)对DNS服务器的安全重视,禁止非法使用。

攻击工具
kaminsky-attack(您也可以通过Google搜索下载源码自己编译)

测试步骤

在命令行下输入(我用的是Linux系统):

[admin@Linux] ./kaminsky-attack q.q.q.q 202.96.209.5 a.a.a.a 1234 www 91ri.org. 8.8.8.8 8192 16

命令说明

q.q.q.q是发送DNS请求的客户机IP地址,可以随意设置
202.96.209.5是上海的DNS缓存服务器(黑客投毒的目标)
a.a.a.a是91ri.org的权威DNS服务器,可以随便设置
www是主机名
91ri.org是域名(与www联合起来就是一个完整的FQDN名)
8.8.8.8是毒药,让DNS缓存服务器存储错误的A记录(域名到IP的对应关系)
8192是猜测次数(次数越大命中率越大)

攻击原理

这个程序有双重身份,一个是普通客户端,另一个是黑客,程序先给DNS缓存服务器发送一个DNS解析请求,然后快速给DNS缓存服务器发送8192个伪造的响应包,使其中毒。

重要提示

在测试之前,您应该明白,对于91ri.org这样知名的网站,几乎时时有用户在请求解析,就是说DNS缓存服务器上总是有91ri.org的A记录,而这时黑客的投毒是无效的。但这并不防碍黑客伪造2级域名,比如:
[admin@Linux] ./kaminsky-attack q.q.q.q 202.96.209.5 a.a.a.a 1234 aorb 91ri.org. 8.8.8.8 8192 16

因 为可以肯定DNS缓存服务器上不会有aorb.91ri.org的A记录,所以投毒100%成功,与此同时,www.googl.com也中毒了,这是为什么?如果您了解DNS响应报文,就会明白,响应报文中不但会有aorb.91ri.org的A记录,还可以捎带名曰附加记录的信息,这里的附加记录是www.91ri.org对应的IP地址。这样,DNS缓存服务器同样更新了www.91ri.org对应的错误IP地址。

另外,您也可以在本地查询DNS缓存服务器上是否存有目标域名的记录。在命令行下输入:

[admin@Linux]nslookup

>set norecurse(norecurse是告诉客户端不使用递归查询,因此,如果DNS缓存服务器上没有目标域名记录,则会返回相关提示。如果显示的是非授权区域提供的信息,则表示DNS缓存服务器已经有了目标域的资源记录)

> 91ri.org
*防止投毒

目前还没有更好办法阻止黑客的这种行为,只有使DNS缓存服务器发出的查询请求使用动态的UDP端口,UDP的端口号也是16位2进制,这样,与DNS的ID号相结合,号码的命中率就是1/4294967296(2的32次方)。

也许您对下列信息感兴趣:

云原生数据中台的 What、Why、Who、How和Where

 

%title插图%num

%title插图%num

WHAT:云原生是什么? 

它有啥前世今生?

简单说,云原生(Cloud Native)是在云上构建和运行系统的方法论。*早移植上云的“非原住民”应用程序,往往还沿用私有化部署的技术架构,无法充分发挥云基础设施的优势。随着客户应用的深入,系统必须按照IaaS和PaaS的原理进行重构,以便跟上业务的爆炸性增长。

按照CNCF(Cloud Native Computing Foudation)定义,云原生一般包含CI/CD(持续集成持续交付)、容器化、微服务、存储计算分离、跨云多域、元数据管理等技术要素。

%title插图%num

图源:CNCF

老实讲,从我这种从业 20 年数据技术老兵看来,这又是一波 buzzword,很多东西二十年前就有了,十几年前就已经成为互联网技术团队的标配。例如,2007 年 Google 已向 Linux 内核社区贡献 cgroup 补丁;再如,2008 年腾讯阿里招收计算机专业的应届生的面试题里就有 CI/CD 的问题;2013 年我在阿里云 ODPS 团队时,ODPS 的调度器和执行器已加上了 cgroup 能力;6 年前我*次创业,凭借 docker 容器化这个特点拿到了天使轮。

%title插图%num

%title插图%num

WHY:投资人不傻,为什么这些概念在创投领域突然变火?

云原生暗合当前行业的发展逻辑,才会受“追捧”。我猜所有重要的创新都要被“发明”两次,一次是从无到有生出来,一次是出圈。

*近业界有个新闻,2020 年,中国 IT 预算里超过 50% 的钱花在了云上。这是一个里程碑时刻,在中国这个喜欢私有化部署的市场里,云终于赢了。

大量的应用在云上,就遇到成本和效率的问题。举2个例子:

*个例子,云和大数据运维技术含量较高,很多看机房重启机器的传统运维工程师无力承担。但是线上数据、计算和应用规模还在以每年N倍的速度增长。如果不采用 CI/CD 而是坚持传统的人肉运维,先别说这种运维工程师的薪酬很高,你可能都招不到这么多合适的人。

第二个例子,客户如果把 Hadoop 不加修改直接部署到 ECS 节点上,数据通过HDFS存在云磁盘上成本会非常昂贵。客户必须修改 HDFS 底层,把数据存到对象存储上去。

成本和效率问题推动智能数据平台必须走向云原生,从而为用户带来如下收益:

1. 提高研发效率

通过微服务、CI/CD、对象体系、DevOps等一系列技术,提高代码开发、测试、发布效率,降低迭代成本。

2. 降低运维成本

同样,上面这些技术也可以实现开发及运维高效协同,有效提升对故障的响应速度,实现持续集成和交付,使得快速部署应用成为业务流程和企业竞争力的重要组成部分。

3. 降低存算成本

大数据基础设施的存储计算成本惊人。存算分离和容器化能够更高效地使用IaaS资源,降低存储成本。存储和计算节点分离后,可以在不对存储进行扩容的情况下快速增加计算资源。另一方面,单个容器的启动时间更快,占用空间更小,而且可以根据实际应用的大小来弹性分配资源,无需额外采购服务器。

4. 提高治理效率

数据治理是非常重要但“脏”且繁琐的工作。使用跨云治理、元数据管理等技术,会大幅度提高企业积累数据资产的效率,降低安全风险,提高供应商的多样化。

%title插图%num

WHO:所有人都在阐释云原生,哪个更符合客户诉求?

到底是“谁的云原生”?

讨论云原生时,应该问清楚:“谁的云原生?”

AWS、阿里云、微软云、腾讯云、华为云、京东云、Google 云……每一家都推出了自己云原生技术,以吸引客户搬上自己的云。但技术接口的中立性和跨平台性被有意无意忽略了。

奇点云作为“AI 驱动的数据中台”创导者,是标准的乙方数据智能技术供应商,服务于泛零售、金融、电信等行业,其中不乏各行业的头部企业。所以我们有动力做下面两件事:

  1. 尽可能优化架构,降低数据应用在 IaaS 上的计算、存储成本。
  2. 实现跨云数据治理,帮助客户摆脱某个特定云平台的绑定。

总而言之,和客户站在一起。

你会发现,在美国,尽管 AWS 的产品非常强大,但是 snowflake 和 databricks 依旧服务了很多世界五百强企业。原因就是这些头部企业需要把自己的 IaaS 供应商多样化。逻辑很类似。

所以“奇点云的云原生”,相比常规定义,多强调了几个因素:对象体系、跨平台、自主可控。我们的产品支持 AWS、阿里云、微软云、腾讯云、华为云、京东云、Google 云,并实现跨云的多 workspace 管理,能实现客户数据与应用的跨云治理和迁移。而且系统基本的架构体系设计更开放、更安全、更容易集成。

%title插图%num

HOW:对于云原生,数据领域有什么倾向?

具体通过哪些技术要素实现云原生?

我们先回顾一下数据技术的演进阶段:

阶段 #1 

关系性数据库出现,SQL 统一数据开发工业标准,开始区分 OLTP 和 OLAP。

问题:随着业务成长,数据量爆炸,尤其是互联网影响的深入,传统关系型数据库逐渐扛不住海量数据的压力。

阶段 #2 

大数据技术出现,支撑海量数据的处理,OLAP 本身又被分成了离线和实时。

问题:针对不同场景的各种大数据引擎不断出现,反过来又刺激了更多数据的生成。海量数据的成本开始变成沉重的负担,如果不能把数据变成“资产”,帮助业务赚钱或省钱,就没法持续支撑大数据基础设施的持续投入。

阶段 #3 

数据中台出现,提出一系列的业务方法论,强调积累数据资产。

问题:数据中台在互联网公司的实践获得了相当大的成功。但是在其他行业,如果纯粹 100% 生硬照搬互联网的业务架构和产品形态,会遇到很多水土不服。举个例子,传统行业的企业有大量的线下场景,需要考虑很多数据集成、跨平台治理、数据安全、自主可控的问题。

阶段 #4 

数据智能深入场景,AI 成为数据中台的入口和出口,业务和数据上云趋势加快,多域数据治理成为刚需,国内用户愿意为自主可控技术买单。

你可以看到,每一阶段技术都是为了解决上一代问题诞生的。

所以,大数据领域的业务特点会推导对云原生的一些倾向性:

1. 数据中台存储海量数据,且作业高吞吐高并发,对存算分离的各项指标要求明显高于其他领域的应用;

2. 大数据集群规模大进程多,天然需要微服务治理和其他智能运维技术;

3. 客户对数据安全、数据确权*其关注,加上toB的分级多域数据治理场景非常复杂,产生了对跨平台技术、数据安全技术、合规数据合作技术的强烈需求;

4. 由于目前的国际政经形势,自主可控的大数据引擎,对国内企业而言是一个刚需。

想清楚了这些,“奇点云的云原生”具体做了如下的研发:

# 容器化编排:容器化本质上是一种虚拟化技术,一台主机可虚拟出上千个容器。单个容器的启动时间更快,占用空间更小,而且可以根据实际应用的大小来弹性分配资源,无需额外采购服务器,加快研发速度。

# 对象体系:根据现有业务抽象出核心对象,以标准RESTful风格提供API服务,解耦核心对象与业务层服务,以应对不同环境、不同业务场景的需求。这一系列正交的核心对象就构成了平台对象体系,上层业务可在此基础上构建应用,高效演进。

%title插图%num

# CI/CD:通过版本管理系统和DevOps基础设施,实现自动化测试和持续集成。一个典型流程是,程序员提交代码到特定的tag,触发测试接口自动化测试脚本+开发单测脚本(偏提交代码新功能的)执行并发送报告。由此实现测试、发布和部署自动化。在此基础上构建特定的数据环境,对重要接口和链路进行自动化检测。

%title插图%num

# 存算分离:如果把Hadoop、Spark等常规开源大数据引擎直接应用于云主机,海量数据带来的存储成本和吞吐压力,会很快“压垮”客户。因此,必须引入中间缓存实现计算存储分离,将数据存储到对象存储上,同时兼容HDFS协议,能够根据业务需求进行弹性扩容,就能大幅度降低成本,提高集群性能。

%title插图%num

# 跨云治理:在AWS、阿里云、华为云、腾讯云、京东云等平台,实现统一账号、权限和审计的多workspace的兼容管理,并进一步提供数据安全和可信计算方案,从而提高基础设施的可控性和安全性。

%title插图%num

# 元数据管理:对数据的结构、指标、标签、权限、上下游血缘、生产作业等元信息进行规范化管理,建立智能数据治理体系,支持数据盘点、安全审计、血缘分析、关键分级等应用,*终实现数据资产化。

%title插图%num

%title插图%num

WHERE:客户在哪些场景用上了云原生数据中台?

简单举几个客户应用我们的云原生数据中台DataSimba的例子吧(均为真实案例,保密原因,不能指明):

案例 #1 

某互联网APP,在海内外都很受欢迎。由于地域和法规的要求,他们必须在多个国家的多种IaaS上实现数据生产和合规隔离,例如:在印度部署1个workspace在孟买AWS上,在美国部署1个workspace在Oracle云上,在中国部署1个workspace在阿里云上……同时又实现账号权限、数据审计和安全策略的全局管理。

案例 #2 

某大型电子设备制造公司,由于战略和业务的原因,必须把自己IaaS供应商多样化:部署1个workspace在华为云上,以便对接政企系统;部署1个workspace在AWS上,以便满足海外客户的审计需求;再部署1个workspace在阿里云上,以便支持和阿里云的战略合作……同时又要进行全局的数据资产管理。

案例 #3 

某大型零售品牌集团,本身就有多个互相竞争的子品牌,彼此要求数据做必要隔离和客户隐私保护,同时总部又要进行全面的数据拉通。另一方面,该品牌商会对接多个流量电商平台:在阿里云放一个workspace支持双11,在京东云放一个workspace支持618。再加上几十个线上线下系统的数据的集成和拉通,形成了很复杂的分级多workspace的云原生数据治理体系。

案例 #4 

某流通业的大型集团,各个分公司比较独立,IT经费充足。这时候总部上一个分级数据治理的多workspace数据中台,旗下比较大的分公司有自己独立机房的可以单独部署workspace,而小一些的公司在阿里云或华为云上开通workspace。总部对所有workspace拥有账号管理和审计的权利,同时控制住数据建模规范标准和指标的版本发布。

不同行业的不同企业,搭建出不一样的云原生跨平台数据治理体系,这其中的业务逻辑复杂微妙。我们再对比一下互联网大厂的数据平台——大一统式的数据打通,跑在几千台节点集群上,就可以发现两边产品上的着眼点并不相同。

%title插图%num%title插图%num

  1. ☞华为:海思坚持研发尖端半导体,不会进行任何重组或裁员;荣耀50即将发布,预约人数破百万;Grafana 8.0发布|*客头条☞GitHub 标星 17 万:打破程序员“中年危机”的「编程面试大学」!
  2. ☞.NET 开源的免费午餐结束了?

“字节云”火山引擎正式发布,对外开放推荐算法等核心技术!

%title插图%num

%title插图%num

经过一年多的酝酿,字节跳动旗下的智能科技品牌火山引擎终于首次正式对外发布。继推出企业协同工具飞书后,2020 年 6 月火山引擎官网上线,字节跳动在企业服务领域再次加码,表明了拿下 ToB 端的决心。

这个*初定位为企业技术服务平台的品牌被外界戏称为“字节云”,与国内各大云厂商的 ToB 产品和服务对标。如今,低调运行一年多的火山引擎终于揭开“庐山真面目”,并首次对外公开其推荐算法、数据分析、人工智能等核心技术,通过“火山引擎”的智能增长技术体系,把自身积累的能力开放给企业用户。

用户可能直观上不容易察觉火山引擎这一年都做了什么,但实际上早就不在不知不觉间用上了火山引擎的服务,比如抖音中的各种特效,今年春节期间的抖音红包雨,就是在火山引擎的基础服务支持下顺利实现的。

在此次发布会之前,大家可能会好奇火山引擎的智能增长核心技术究竟是什么,但在火山引擎总经理谭待对“智能增长技术”的解读下,火山引擎增长的“秘密”被破解了。

%title插图%num

首秀“智能增长技术”四层核心架构:增长没有“秘密”

 

火山引擎的智能增长体系,来源于字节跳动在过去九年间的高速增长期间沉淀下的,经过大规模实践验证的增长方法、工具和技术能力。据谭待介绍,这些能力在火山引擎上有机组合,由统一基础服务、技术中台、智能应用和行业解决方案四层架构组成,包含 60 多款单品。

%title插图%num

下面我们来对着四层架构一一进行解读,了解火山引擎产品背后的技术基底。

1. 统一基础服务

火山引擎的统一基础服务是支持了抖音、今日头条等海量用户的云原生架构,基于云原生的计算、存储、网络等基层技术,打造了一个统一的云原生操作系统,一方面可以克服底层IT的差异性,支持研发敏捷地迭代,也能够提供弹性、稳定的算力支持,帮助企业更好地打造云原生架构和多云架构。在 2021 央视春晚上,火山引擎的统一基础服务为抖音红包雨提供技术支持,确保系统稳定运行。

2. 技术中台

在统一基础服务之上,是火山引擎的技术中台,技术中台是字节中台化组织的对外输出,*大化复用了字节跳动的技术,包括数据中台、研发中台、人工智能中台和视频中台。

其中,研发中台包括容器 PaaS 平台、微服务治理、开发运维一体化的移动App 开发平台,让研发人员在企业数字化过程中可以又好又快地写代码。

另外,个性化、智能化的开发体验是未来的趋势,通过人工智能平台和视频中台,企业可以实现视频点播、实时音视频、视频直播等互动性更强的体验。

*后也是*重要的是数据中台,是企业数字化转型、数据驱动的核心。火山引擎的数据中台由A/B测试发展起来,与以往面向基础构建数据中台的做法不同,它是面向应用而构建的,从字节跳动*早的数据运营平台“风神”为基础,集成了此后字节形成的客户数据平台、ABI 工具,以及基于 Clickhouse 的*速 OLAP 引擎,支持内部数万员工的日常工作,这套数据中台可直接支持产品迭代、活动推送和个性化推荐等各种场景,千万级 DAU 的产品可以在一周内实现接入,省去了漫长的周期建设,就可以看到效果。

以 DataLeap 数据资产地图为例,它支持搜索、详情、血缘图谱、专题、库表管理等功能,提供从数据发现到数据理解、资产管理的一站式大数据服务。

%title插图%num

 

3. 智能应用

智能应用针对企业中的非研发体系人员,提供智能营销、智能体验与创作、智能内容、智能算法、智能数据等抖音同款套件,为企业的业务部门提供从获客到增长再到变现的完整工具链路。

如抖音同款AI特效中的智能美化特效,可以提供多项智能图像渲染和算法能力,包含贴纸特效/美化滤镜/人像智能/手势交互/姿态交互能力,可应用于拍照工具、视频直播、在线教育、体感游戏等场景。

%title插图%num

个性化推荐算法也是火山引擎“智能增长技术”产品矩阵中比较火的技术,依托火山引擎的大规模机器学习和个性化推荐技术和信息匹配机制,不同领域的客户获得了效果显著的增长。发布会上一组数据显示,使用火山引擎提供的推荐算法后,某电商客户的人均点击率提高48.3%,人均GMV更是提高了100%以上,多家手机厂商客户的应用商店、浏览器、负一屏等场景的点击率也有大幅增长。

4. 行业解决方案

在应用、工具和平台之上,火山引擎还根据不同行业属性和业务特点,把产品整合成完整的解决方案,目前已经推出了泛互联网、零售、汽车、金融、文旅等行业的解决方案。

%title插图%num

总而言之,火山引擎的智能增长技术体系作为企业的数字化增长引擎,提供了数据驱动的增长方法,高度智能和流程化的实用工具,数字化改造的技术能力,为企业服务增值,降本增效。据悉,目前火山引擎已经与京东、苏宁、建设银行、银河证券、吉利、福特、B 站、华润、虎扑、vivo 等多个行业得到应用,未来计划继续将小到初创团体,大到独角兽企业的增长经验和方法论进行提炼,内化到旗下产品之中,为企业客户开放更丰富的技术产品与服务能力。

%title插图%num

“火种计划”助推增长,自动化智能技术带动良性循环

发布会上,火山引擎还推出了火种计划。

火种计划包括两项核心内容:一方面,向小微企业限时免费开放多款智能应用及数据产品,首批名额一千家;另一方面,联合金融、零售、汽车、文旅等行业领军企业,探索复杂场景下智能增长技术的落地实践,共创解决方案,促进行业的数字化转型升级。

%title插图%num

火山引擎总经理谭待宣布推出“火种计划”

对于小微企业来说,火种计划可以帮助企业在人力和资源有限的情况下,用上比较好的基础服务工具。除了帮扶小微企业,火山引擎也希望找到更多的行业通用解决方案。

%title插图%num

决策智能、智能增长,ML的价值正在被验证 

放眼全球,决策智能和智能增长已经成为企业增值的新趋势。Gartner白皮书预测,通过智能技术获得更加强大的决策能力,将会是企业在2021年的重要命题,而如何提速决策智能化,则将会是企业未来几年数字化转型中的核心议题。通过基于数据和业务规则的决策,利用数据建模和运筹优化算法全局考虑问题,利用求解器技术进行分钟级高速计算和实时更新决策结果,将彻底颠覆企业过去的决策模式和方法,将人工智能带入业务需求领域,降低企业决策风险。

后疫情时代,智能增长的势头也在蓬勃发展,AI算法赋能企业价值的案例比比皆是,比如传统车企劳斯莱斯和通用电气通过提供预测性维护服务,提高了发动机的可靠性;法国个人护理产品公司L’Oréal的Lancôme 启用了AI的小型机器扫描用户的皮肤,询问客户偏好,机器根据客户需求对粉底混合进行个性化处理,为每个客户量身定制*合适的底妆,等等。

正如麻省理工学院数字经济计划的客座研究员迈克尔·施拉格(Michael Schrage)所说:“领导层*大的挑战是他们是否拥有*佳数据和*佳指标。更好的数据,再加上更好的分析功能,应使企业能够探索更好,更快的决策。”火山引擎正是诞生于数据驱动业务增长的时代,机器学习的价值正在被越来越多的案例证明价值。以火山引擎为代表的云服务厂商,还将利用智能技术为企业增长带来哪些新思路,我们且行且看。

国产 RISC-V 处理器“香山”已成功运行 Linux

22号下午关于香山的报告,因为Zoom直播出现了技术故障,导致大家未能听到完整的报告,稍有些遗憾。考虑了一下,这里就把报告PPT直接贴出来,再加上我们在香山开发过程中的一些考虑和想法,跟大家分享。

%title插图%num

这个报告主要回答四个问题:

  • 一、为什么要做香山?
  • 二、香山什么水平?
  • 三、香山怎么做的?
  • 四、香山未来如何发展?

%title插图%num

一、为什么要做香山?

2010年RISC-V诞生,迄今已有11年。如今,在RISC-V国际基金会网站上登记的各类商业或开源的RISC-V处理器核就有上百个(如下链接),为什么还要做一个开源的高性能RISC-V核?

RISC-V Exchange: Cores & SoCs – RISC-V International

对于这个问题,我们和很多业界企业交流过,也做了很多调研与分析,这都让我们判断认为业界需要一个开源的高性能RISC-V核。另一方面,我们也在思考一个问题——为什么CPU领域还没有一个像Linux那样的开源主线?1991年开源的Linux诞生,到今天正好30年。如今,Linux不仅被工业界广泛应用,也成为学术界开展操作系统研究的创新平台。

RISC-V是开放开源的指令集,允许全世界任何人免费实现一个RISC-V处理器,可以是商用,也可以开源,这是和公司私有的X86/ARM指令集相比*大的区别之一。但是,十年过去了,到现在还未能形成一个像Linux那样的开源主线。Berkeley的BOOM目标是一个高性能开源RISC-V核,但是BOOM代码仓库相对不开放,官方建议其他人实现任何功能都要事先和他们沟通,以确保不要与他们的计划产生冲突。根据GitHub官方的统计页面显示,从2014年1月至今,为BOOM提交过超过100行代码修改的仅有8人。由此可见,一定程度上因为BOOM严格的外部贡献政策,开源社区对BOOM的参与度并不高。

所以,团队的唐丹博士和我一直认为要建立一个像Linux那样的开源RISC-V核主线,既能被工业界广泛应用,又能支持学术界试验创新想法。*关键的是,一定要让它像Linux那样至少存活30年!

于是,“香山”诞生了。

%title插图%num

我们做了一年多的准备工作——申请经费,启动“一生一芯”计划培养人才,建立团队,寻找合作伙伴……这期间得到了太多太多人的支持和帮助:计算所孙凝晖院士帮我们多处找经费,国科大全力支持“一生一芯”计划,鹏城实验室支持我们建立起后端物理设计团队,多位计算所老所友毅然决定参与开源主线等等,就不一一列举了。

终于,香山正式启动了——2020年6月11日,香山在GitHub上建立了代码仓库。

短短的的一年时间里,25位同学和老师参与了香山的开发。821次主分支代码合并,3296次代码提交(commit),5万余行代码,400多个文档,记录了香山的成长过程。我们的理念是代码开源、流程开放、文档公开。这期间,有企业直接参与开发,也有企业表达参与意向,都因为认同开源理念,愿意一起来共建开源的香山。这些来自工业界的积*反馈,给予我们*大的鼓舞和信心,让我们更坚定地去践行“科研重工业模式”。

“科研重工业模式”,是 2020年1月我为《中国计算机学会通讯(CCCF)》写了一篇卷首语《伯克利科研模式的启发》中提出的:

袁岚峰:CCCF卷首语 :伯克利科研模式的启发 | 包云岗

回顾伯克利的科研历程,可以发现他们在过去几十年研制了大量的原型系统,不仅推动了技术进步甚至颠覆产业,也培养了一代代杰出人才(其中多位获得图灵*):1950年代CALDIC系统(Doug Englebart),1960年代Project Genie系统(Butler Lampson与Chuck Thacker),1970年代BSD Unix操作系统与INGRES数据库系统(Michael Stonebraker),1980年代RISC处理器(David Patterson),1990年代RAID存储系统与NOW机群系统……如果用一句话来总结伯克利的科研模式,那就是——热衷于研制真正能改变现状的原型系统,哪怕需要大量工程投入。国重主任孙凝晖院士称之为“科研重工业模式”。

“科研重工业模式”,我们不想纸上谈兵,我们要用行动去实践。

%title插图%num

%title插图%num

二、香山什么水平?

香山是一款开源RISC-V处理器核,它的架构代号以湖命名。*版架构代号是“雁栖湖”,这是带有浓重国科大情节的同学们起的名字,因为他们研一都在怀柔雁栖湖待了一年。“雁栖湖”RTL代码于2021年4月完成,计划于7月基于TSMC 28nm工艺流片,目前频率为1.3GHz。

第二版架构代号是“南湖”,这是向建党100周年致敬。“南湖”计划在今年年底流片,将采用中芯国际14nm工艺,目标频率是2GHz。

%title插图%num

香山选择什么开源许可证?这个问题纠结了我们好一阵子。后来,我们专门向北京大学周明辉教授请教,小伙伴们制定了4种开源许可证方案。在反复对比权衡后,*终选择了如下表格中的方案①——木兰宽松版许可证(MulanPSLv2)。在此,特别感谢北大周明辉老师的专业指导!

%title插图%num

开源许可证方案对比(徐易难整理)“雁栖湖”架构是一个11级流水、6发射、4个访存部件的乱序处理器核。在发射宽度上已经可以和一些ARM高端处理器核相当,但还未进行充分优化,因此实际性能还有不小的差距。我们希望未来通过持续迭代优化(“南湖”–>”X湖”–>”Y湖”–>……),性能达到ARM A76的水平。

%title插图%num

我们基于GitHub CI构建了一套流程化的自动回归测试框架,并在过去大半年不断增加测试负载,从cputest,risc-tests到Linux,到SPECCPU workload。这套自动回归测试框架在保障和验证芯片的正确性。

%title插图%num

每个大项目总会有一些激动人心的时刻,这段30秒的小视频记录了香山在FPGA上启动Linux/Debian的时刻,略带喜感。

视频链接:香山在FPGA上启动Linux/Debian

(https://www.zhihu.com/zvideo/1390842319982120960)

%title插图%num

三、香山怎么做的?

香山开发初期速度非常快:6月11日建立代码仓库,7月6日乱序流水线便已完成,能正确运行CoreMark,不到一个月时间;9月12日,Linux正确启动10月22日,Debian正确启动。

接下来便是大半年的结构优化、性能调优、时序优化工作,香山架构几乎相当于重构了一遍。一个典型的例子,香山的*版分支预测器(BPU)参考了BOOM的BPU,但后端评估频率只能达到800MHz(TSMC 28nm)。于是负责BPU设计的勾凌睿在几位老师的指导下,不断优化BPU结构,*终将频率提升到了1.4GHz。

这期间,小伙伴们纷纷自己动手,开发了各种各样的优化和调试工具,大大地加速了优化和验证环节。这让我真心佩服这批90后——他们真是充满了创造力,从工作到生活,而主要驱动力之一就是“省(tou)时(lan)”。比如宁可自己写个程序自动点外卖,也懒得打开手机看菜单点。

%title插图%num

香山的开发至少有两个重要的决策,*个便是选择敏捷设计语言Chisel。很多人质疑Chisel,排斥Chisel,但是我们在充分评估后,还是决定使用Chisel。

我们团队是在2016年开始使用Chisel,一开始组里也充满质疑。2018年,我们设计了两组定量的对比实验,找了2位同学用Chisel、1位工程师用Verilog分别设计一个L2 Cache模块。通过一系列量化对比,得出了如下三个结论:

  1. Chisel开发效率远高于Verilog;
  2. 实现相同的功能,Chisel代码量仅为Verilog的1/5(因此香山的5万行Chisel代码相当于25万行Verilog代码);
  3. Chisel的开发质量不比Verilog差。

后来将实验结果发表在2019年1月的《计算机研究与发展》。*近去华为交流,才知道这些对比结果也推动了华为内部组建了Chisel开发团队,如今华为也是Chisel的支持者。

2020年,我们又基于Chisel完成了一款8核标签化RISC-V处理器的流片,这是基于Rocket处理器核进行了标签化体系结构改造,采用TSMC 28nm工艺流片。虽然因为时间紧张,并没有进行细致的后端优化,但芯片返回后也还能正常运行在1.2GHz。这是一颗有一定复杂度的8核SoC芯片,但Chisel能应对。所以,我们相信Chisel可用来开发复杂芯片。

%title插图%num

在开发香山的过程中,我们团队积累了丰富Chisel开发经验。小伙伴们(徐易难、王凯帆、蔺嘉炜、余子濠、金越)准备了6个报告,将会在6月25日的CCC Workshop上和大家分享。

%title插图%num

另一个重要决策就是高度重视构建支持敏捷设计的流程与工具。

%title插图%num

我们在开发香山的过程中,一直在强调流程、平台、基础设施的重要性。我更多是扮演了啦啦队队长的角色,而小伙伴们则真正将理念落实到了具体行动。

%title插图%num

为了更好地支持Chisel开发与调试,为了更快地捕捉、复现和定位bug,为了更准确地评估优化技术的性能收益,小伙伴们开发十余种各具特色的工具。这些工具支撑起了一套处理器芯片敏捷开发的流程。当然,这套流程还比较初级,尚不系统化。我们也期待更多的开源开发者加入,一起完善这套敏捷设计流程。

%title插图%num

下面举几个工具的例子。NEMU是由余子濠在南大本科时便开始开发的一款教学模拟器。在计算所读博期间,他凭借一人之力一直在持续改进和优化NEMU,使NEMU成为一个效率接近QEMU的高性能解释器——启动Debian甚至比QEMU还要快18.2%(9.87s vs. 12.07s)。

更重要的是NEMU是指令解释器,可以针对每一条指令进行动态分析;相比而言,QEMU的翻译粒度是基本块,无法跟踪每一条指令。事实上,NEMU的这种指令解释器机制,成为了香山开发中正确性验证框架Difftest的基础。(余子濠将会在6月23日下午介绍NEMU)

%title插图%num

Cache是处理器中非常核心的模块,尤其是要支持一致性协议的Cache更为复杂。为此,小伙伴们开发了一套专门验证支持TileLink一致性协议的Cache模块测试框架Agent Faker,发现了好几个Cache模块的bug。(张传奇将会在6月25日上午介绍这个工作)

%title插图%num

Difftest是一个基于NEMU的指令集在线差分验证框架。它的一端是模拟器,提供处理器执行的黄金标准;另一端是运行RTL的仿真器,在仿真过程中会将指令数、中断、MMIO、微结构状态等信息发送给NEMU进行比对,从而判断RTL实现的正确性。

Difftest*早是由余子濠实现,后来王凯帆进行优化,其中一个*重要的改进就是SMP-Difftest,支持多核SMP的全系统仿真,并且支持Cache一致性、内存一致性等需要软硬件协同的问题。(王凯帆将会在6月24日下午介绍Difftest)

%title插图%num

如何快速捕捉、复现、定位bug是调试过程中非常关键的步骤,很多时间都是消耗在这个阶段。小伙伴们提出了一种创新的轻量级仿真快照技术——把整个仿真程序看成是一个进程,利用fork机制创建子进程。然后父进程继续执行,子进程暂停。当父进程出错时,则可以恢复到子进程进行调试。LightSSS这个机制和Verilator仿真器自带的Savable机制相比,单次快照时间缩短了近7000倍!(余子濠将会在6月23日下午介绍LightSSS)

%title插图%num

很多人质疑Chisel不方便调试。小伙伴们则充分利用了Chisel的可以自定义Firrtl Transform的特点,设计了一套新型的硬件敏捷调试栈,可将基于波形的调试转换为基于事件的调试。我们设计了一套工具,可以直接将高层语义新型从波形中提取出来,并进行可视化。为此,还专门设计了一个Xiang语言。(蔺嘉炜将在6月23日下午介绍该工作)

%title插图%num

处理器性能优化环节*关键是要快速准确地评估优化技术带来的性能收益。如果评估过程需要几天时间,那将会严重影响迭代优化效率。小伙伴们设计了一个敏捷性能评估框架BetaPoint,它利用了三个机制——Sampling机制、Generic Full System Checkpoint机制和Functional Warmup机制,实现了可以在10个小时内估算出处理器的SPEC分数。(周耀阳将会在6月23日傍晚介绍BetaPoint)

%title插图%num

整个香山开发团队将在这次峰会上和大家分享22个技术报告。这些报告都是清一色的90后,很多都是95后:勾凌睿、胡博涵、金越、李昕、刘志刚、蔺嘉炜、王华强、王诲喆、王凯帆、徐易难、余子濠、张传奇、张发旺、张林隽、张紫飞、张梓悦、周耀阳、周意可、邹江瑞;此外还有多位参与香山开发的同学这次并没有投稿。这些小伙伴们在香山的开发过程中做出了不可替代的贡献。

%title插图%num

%title插图%num

四、香山未来如何发展?

目前香山正在进行下一代架构“南湖”的开发,目标是今年年底流片,基于中芯国际的14nm工艺频率达到2GHz,SPECCPU分值达到10分/GHz。这是一个很有挑战的目标,需要对架构进行大幅度的优化改进。

前几天,小伙伴们专门去了一趟嘉兴南湖,研讨香山未来的发展。除了技术,我们再一次聚焦到流程与平台。此前构建的敏捷设计流程与平台支撑了20多人的开发团队,这远远不够。现在我们需要考虑的是该如何构建一套开源、开放、规范的开放流程,能支撑2000人的开源社区一起开发。

支持成千上万人一起开发开源软件,这已经有成功的经验。但是如何支持数千人一起开发开源处理器,目前还没有可以参考的案例,只能靠我们自己摸索。也期待各界专家给我们更多的指导和建议。

%title插图%num

我们有一个愿望——希望“香山”能存活30年;我们有一个约定——30年后再一起聚聚,到时再看看香山会变成什么样。但是,要实现这个愿望,还有很多很多问题和挑战需要去解决。

真诚地期待有更多伙伴加入香山的开发队伍!

%title插图%num

香山是在中科院计算所、鹏城实验室的支持下,通过中国开放指令生态(RISC-V)联盟联合业界企业一起开发一款开源高性能RISC-V处理器核,也得到了北京智源人工智能研究院的支持。在此,要特别感谢北京微核芯公司的资深专家给予香山的开发强力的支持,他们非常认同开源理念,也是*家与香山联合开发的企业。很高兴“南湖”架构的开发有了更多的合作伙伴,感谢对香山的支持。

欢迎联系我们一起加入香山开源社区!

%title插图%num

%title插图%num

%title插图%num

  1. ☞新iPhone有望首次加入屏下指纹解锁;小米 11推送“降温”补丁;McAfee杀毒软件创始人死于巴塞罗那监狱中|*客头条☞华为、百度、小米踏上造车新征程,软件如何吞噬汽车?
  2. ☞iOS 又出重大Bug!一秒搞崩 iPhone 的网络连接功能

云计算的特点,主要有哪些?

1.超大规模

“云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。

2.虚拟化

云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本电脑或者一部手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。

3.高可靠性

“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。

4.通用性

云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。

5.高可扩展性

“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。

6.按需服务

“云”是一个庞大的资源池,你可按需购买;云可以像自来水、电、煤气那样计费。

7.*其廉价

由于“云”的特殊容错措施可以采用*其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。

8.潜在危险性

云计算服务除了提供计算服务外,还必然提供了存储服务。但是云计算服务当前垄断在私人机构(企业)手中,而他们仅仅能够提供商业信用。对于政府机构、商业机构(特别像银行这样持有敏感数据的商业机构)对于选择云计算服务应保持足够的警惕。
一旦商业用户大规模使用私人机构提供的云计算服务,无论其技术优势有多强,都不可避免地让这些私人机构以“数据(信息)”的重要性挟制整个社会。对于信息社会而言,“信息”是至关重要的。另一方面,云计算中的数据对于数据所有者以外的其他用户云计算用户是保密的,但是对于提供云计算的商业机构而言确实毫无秘密可言。
所有这些潜在的危险,是商业机构和政府机构选择云计算服务、特别是国外机构提供的云计算服务时,不得不考虑的一个重要的前提。

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速