性能優化知識圖譜

2020-12-04 酷扯兒

本文轉載自【微信公眾號:碼磚雜役,ID:whatis9527want】經微信公眾號授權轉載,如需轉載與原文作者聯繫

先列個提綱,後面補充內容

## 一、關注和度量

### 關注

- 優化執行效率

- 優化內存佔用

- 優化IO

- 磁碟IO

- 網絡IO

### 度量

- 吞吐量

- 響應時間(Response Time)、延遲(Delay):追求可容忍延遲下的最大吞吐率

- 並發:TPS、QPS、OPS、IOPS、最大連接數

- TP99

- 資源使用率:CPU、內存、帶寬

## 二、計算機系統

### CPU架構

- 運算單元 + 記憶單元 + 控制單元

- 總線:數據總線、地址總線、控制總線

- 多CPU、多核、超線程

- 指令周期:取指、譯指、執行、寫回

- 指令流水線

- CPU如何讀取數據?

- CPU如何執行任務?

### 存儲金字塔

一次內存訪問需要200-300個CPU時鐘周期,意味著CPU和內存的訪問速度相差200倍,這個鴻溝由高速緩存填充

- 高速緩存(Cache):

- On-chip Cache:單個CPU核心獨立

- L1 Cache:通常大小32/64KB、速度4 Cycles

- L1數據Cache:循環優化

- L1指令Cache:

- 分支預測(動態分支預測和likely/unlikely)

- 綁核

- inline

- L2 Cache:通常大小256KB,速度10 Cycles左右

- Off-chip Cache:多個CPU核心共享

- L3 Cache :通常數MB、速度40 Cycles左右

- Cache Line:64B

- 緩存命中性:Cache Hit

- 如何寫出CPU執行快的程序

- 如何提高緩存命中性

- 緩存一致性:Cache Coherence

- 寫回Write Back、寫直達Write Through、寫傳播Write Propagation

- MESI協議

- 內存

- 磁碟(HHD)、固態硬碟(SSD)

### 程序

- 數據結構

- 算法

### 內核態和用戶態

### 虛擬地址空間

- 代碼段

- 數據段

- 堆

- 棧

- BSS

- 只讀數據區、常量數據區

- 共享存儲區

### 調度與CPU運行隊列

### 中斷與系統調用

## 三、監控

- 性能優化、監控先行

- 你度量什麼,你得到什麼

- 搭建能真實模擬的壓測環境是性能優化的前提條件

## 四、工具

- linux系統相關命令

- perf和火焰圖

- gprof2dot.py

## 五、方法

- 如何定位CPU瓶頸?

- 如何定位IO瓶頸?

- 如何定位網絡瓶頸?

- 如何定位鎖的問題?

- 如何提高並發能力?

## 六、實踐經驗

- 空間換時間

- 利用局部性

- 延遲計算、提前計算

- 優化循環

- 無鎖編程、減少鎖的粒度

- 正確理解內存屏障

- 內存管理和優化

- 字符串比較和HASH

- 減少拷貝,減少傳參,減少調用,減少存儲引用

- 防禦性編程適可而止、過猶不及

- 批處理和Prefetch

- SIMD

- 熟悉編譯器選項:LTO、PGO、INLINE

- 結構體優化

- release乾淨

- 分支預測

-慎用遞歸

相關焦點

  • 《人工智慧 知識圖譜 性能評估與測試規範》等兩項團體標準立項
    日前,由中國電子技術標準化研究院(以下簡稱「電子標準院」)向中國電子工業標準化技術協會提出的《人工智慧 知識圖譜 性能評估與測試規範》(項目號:CESA-2020-2-020)、《人工智慧 知識圖譜 分類分級規範》(項目號:CESA-2020-2-019)兩項團體標準正式獲批立項。
  • 解析|如何構建知識圖譜
    知識圖譜,是一種複雜網絡型知識工具,在2012年由谷歌公司提出,當時的目標是——讓搜索找到答案;到如今,隨著大數據應用深入大街小巷,知識工程算法能力的得到優化,知識圖譜已經成為一家企業能夠整合內部資源,更好服務於客戶的重要一環。
  • 第四範式NeurIPS 2020:知識圖譜嵌入的自動化
    start=6知識圖譜嵌入(Knowledge Graph Embedding)目前在學習知識圖譜(KG)中的知識表達上具有很強的能力。在以往的研究中,很多工作主要針對單個三元組(triplet)建模,然而對 KG 而言,三元組間的長鏈依賴信息在一些任務上也很重要。
  • 第四範式NeurIPS 2020:知識圖譜嵌入的自動化
    start=6知識圖譜嵌入(Knowledge Graph Embedding)目前在學習知識圖譜(KG)中的知識表達上具有很強的能力。在以往的研究中,很多工作主要針對單個三元組(triplet)建模,然而對 KG 而言,三元組間的長鏈依賴信息在一些任務上也很重要。
  • 如何構建知識圖譜?
    本文根據轉轉張青楠老師,在DataFun AI+ Talk中所分享的《二手電商知識圖譜構建以及在價格模型中的應用》編輯整理而成。一、知識圖譜概述這次的分享主要從以下四個部分:知識圖譜概述、知識圖譜構造、轉轉二手電商知識圖譜、在價格模型中的應用。
  • 知識圖譜如何打破人工智慧的認知天花板?
    InfoQ 基於對知識圖譜技術生態的深刻觀察,重磅發布《知識圖譜:打破人工智慧的認知天花板》研究報告。帶您探索知識圖譜如何實現機器的辨識、思考與主動學習,梳理知識圖譜技術體系與產業鏈結構,剖析實現認知智能的技術挑戰與發展趨勢,探求知識圖譜將如何打破人工智慧的認知天花板。
  • 白話知識圖譜及其在CMDB中的應用
    本文主要包含兩塊內容:1、對知識圖譜的基本概念和思想起源做一個簡單的介紹;2、知識圖譜對CMDB的啟發以及我們的實踐成果。閱讀時間約20分鐘1、什麼是知識圖譜你可以沒聽過知識圖譜,但一定聽過人工智慧。人工智慧可以簡單的分為兩大類:感知智能和認知智能。感知智能即視覺、聽覺、觸覺的感知能力。
  • 從ACL 2020看知識圖譜研究進展
    第二篇文章是知識圖譜在摘要生成任務中的應用,第三篇文章是知識圖譜在會話生成任務中的應用。1.京東人工智慧研究院在關於京東智聯雲的工作中,應用知識圖譜技術構建了基於商品的「商品圖譜」,並將「商品圖譜」與語言模型相結合實現了營銷內容智能生成,可以說是 NLP 技術很好的一個應用實例。本文是關於知識圖譜本身構建的工作,目的是改進知識圖譜中源實體到目標實體的連結預測水平。
  • 知識圖譜的皇冠:知識圖譜推理的前世今生
    [ 導讀 ]業界和學界對知識圖譜的關注主要集中於兩大領域,分別是知識圖譜的構建和知識圖譜的應用。 前者聚焦於通過對結構化、非結構化數據的整合,實現統一形式的數據存儲;後者則著眼於通過算法對海量知識圖譜數據進行學習與挖掘,從而推理出新的知識,服務於具體行業應用。
  • 需要知識的後深度學習時代,如何高效自動構建知識圖譜?
    隨著大數據時代的到來和人工智慧技術的進步,知識圖譜的應用邊界被逐漸拓寬,越來越多的企業開始將知識圖譜技術融入其已經成型的數據分析業務,有的甚至使用知識圖譜作為其數據的基礎組織與存儲形式,成為其數據中臺的核心基建。
  • 晉梅:金融知識圖譜的應用探索
    以下整理來自嘉賓分享實錄:金融知識圖譜的概念和應用在信息爆炸時代,對客觀事實的各種描述是海量的、無序的、混亂的信息,而知識被定義為是對客觀規律和信息的歸納總結。基於此概念,知識圖譜是一種用圖的結構對知識進行表達的方式,它的基本組成要素是節點和邊,節點用於表示實體,邊用於呈現關係。
  • 試驗知識圖譜分析
    、知識圖譜方面的應用研究。前言:知識圖譜是知識工程不斷發展衍生出的新一代知識工程技術,知識圖譜的概念最早是由谷歌在2012年正式提出,最初僅應用在智能搜索領域,目前已應用在多垂直領域,比如金融行業、醫療衛生、政府、能源與工業得到廣泛的應用。本期課程重點分為以下四個方面:試驗知識綜述、試驗知識圖譜分析、試驗知識圖譜構建技術和試驗知識圖譜技術展望。
  • 思賢科技受邀參與知識圖譜國家標準研討會暨團體標準啟動會
    在《人工智慧 知識圖譜 性能評估與測試規範》和《人工智慧 知識圖譜 分類分級規範》兩項團體標準的啟動會上, 多家單位結合自身知識圖譜實踐經驗,闡述了對於知識圖譜構建和應用測評指標的理解和建議。在此基礎上,啟動會還確定了兩項團體標準的研究計劃和任務分工。知識圖譜國家標準和團體標準知識圖譜作為機器認知智能實現的基礎之一,是人工智慧的重要組成部分。
  • 蘇寧金融科技運用知識圖譜提升「千言」客服機器人效能
    為專注好服務,蘇寧金融科技打造的「千言」智能客服機器人上線後,不斷在功能和算法方面進行優化。近日,「千言」機器人開始引入知識圖譜,強化機器人的知識構建能力,提升整體服務效能。據了解,知識圖譜(Knowledge Graph)是以結構化的形式描述客觀世界中概念、實體及其關係,將網際網路的信息表達成更接近人類認知世界的形式,是一種更好地組織、管理和理解網際網路海量信息的能力。利用知識圖譜技術可以將當前靜態無關聯的單條知識,轉換為具有一定關聯的圖結構,從而使機器人具有一定的推理能力,回答問題更加精準和多樣,提升機器人的智能化水平。
  • Data Fabrics與知識圖譜之間的共生關係
    亞馬遜的知識圖譜保留了關於其龐大產品陣列的元數據,谷歌的知識圖譜能捕捉到網絡用戶興趣愛好的詳盡數據。那些相對不太出名的公司也都部署了這些機制來處理公司的一切事務,從全面的客戶評估到生產流程。Datafabrics 與知識圖譜的運行有著獨特的共生關係。
  • 愛分析·中國知識圖譜應用趨勢報告
    第一步:完成對公企業客戶的知識圖譜構建;  第二步:基於已構建的對公企業知識圖譜,進行風險傳導算法研發與應用;  第三步:實現知識圖譜的3D可視化分析,對接各業務應用平臺。  知識圖譜平臺功能主要包括圖譜存儲、圖譜分析、圖譜可視化和圖譜應用四個方面,用於客戶精準營銷、風險防控、運營優化以及管理決策。
  • 是時候該關注「知識圖譜」了!
    知識圖譜是什麼通俗地講,知識圖譜就是將複雜的知識通過數據挖掘、信息處理、知識計量和圖形繪製等一系列方式,把所有不同種類的信息連接在一起得到的一個關係網絡。在知識圖譜裡,用節點表示現實世界中存在的「實體」,用邊示意實體與實體之間的「關係」。
  • 九節茶高效液相色譜指紋圖譜分離條件的優化
    目的優化九節茶HPLC指紋圖譜分離條件。方法使用色譜柱KromasilC18(250mm×4.6mm,5μm),流動相為甲醇-0.2%磷酸溶液,柱溫為25℃,流速為0.7ml/min,檢測波長為340nm,考察九節茶的最佳梯度洗脫條件。
  • 基於向量空間的知識圖譜查詢及結果解釋
    知識圖譜是一個宏大的數據模型,可以構建龐大的「知識」網絡,包含世間萬物構成的「實體」以及它們之間的「關係」,圖文並茂地展現知識方方面面地「屬性」,讓人們更便捷地獲取信息、找到所求。為了讓大家對知識圖譜有更深入的認識,今天這篇文章將由東南大學計算機科學與工程學院王萌老師為我們講解基於向量空間的知識圖譜查詢及結果解釋。
  • AI產品經理的入門必修課(4)——知識圖譜
    編輯導語:通過知識圖譜,不僅可以將網際網路的信息表達成更接近人類認知世界的形式,而且提供了一種更好的組織、管理和利用海量信息的方式;本文作者分享了關於AI產品經理的知識圖譜簡介以及利用,我們一起來了解一下。