Kiến thức Tìm hiểu về kiến trúc Broadwell-EP trên vi xử lý Intel Xeon E5 v4.

Thảo luận trong 'CPU - Chip xử lý' bắt đầu bởi Kiet Nguyen, 14/4/16.

  1. Kiet Nguyen Thiếu tá

    Xeon_678x452.

    Kể từ ngày ra mắt dòng Xeon “Nehalem” 5500 (tháng 3 năm 2009), Intel đã liên tục nâng cao số lõi của CPU Xeon của họ tương đương 50% sau mỗi 18 tháng. Như bốn đến sáu lõi trên Xeon 5600 vào tháng 6 năm 2010, và tăng lên 6-8 lõi với dòng Xeon E5-2600 Sandy-Bridge. Mặc dù số lần tăng này chỉ 33% nhưng hiệu suất tăng lên rất đáng kể. Sau đó thế hệ Ivy Bridge EP (E5-2600 v2) nâng số lỗi lên từ 8 đến 12 nhân và mới đây là Haswell-EP (E5-2600v3) lên đến 18 lỗi với các sản phẩm đầu bảng.

    Tuy nhiên, việc gia tăng lỗi xử lý không thể diễn ra mãi được, sớm muộn gì Intel cũng phải làm chậm quá trình này lại vì một vài lý do trong tiêu thụ năng lượng cũng như không gian và hôm nay Intel đã hãm phanh lại một chút.

    Với việc công bố thế hệ tiếp theo của dòng sản phẩm vi xử lý Xeon E5 v4 của Intel, 15 tháng sau khi Intel giới thiệu kiến trúc Broadwell và tiến trình 14nm đến người tiêu dùng, Broadwell cuối cùng cũng đã bước vào phân khúc máy chủ nhiều socket với loạt Broadwell-EP. Cũng giống như các loạt sản phẩm EP trước, Broadwell-EP là lớn hơn, cũng như là một phần của người anh em Broadwell thương mại, cung cấp nhiều lõi xử lý hơn, nhiều băng thông bộ nhớ hơn, nhiều bộ nhớ đệm và nhiều tính năng tập trung vào máy chủ. Và nhờ vào việc chuyển từ quy trình 22nm sang tiến trình 14nm hiện tại, Intel đã đạt được những lợi ích lớn hơn từ quy trình nhỏ hơn và mật độ cao hơn.

    Trở lại với chủ đề số lượng lõi bên trong, ngay cả với việc nhẩy sang quy trình 14nm, Intel vẫn thận trọng hơn với số lượng lõi bên trong. So với Xeon E5 v3 (Haswell-EP), Xeon E5 v4 (Broadwell-EP) làm cho quá trình tăng số lõi chậm lại, từ 18 lỗi cho đến 24 lõi, chỉ 33% tăng. Tuy nhiên, hiện tại Xeon E5 v4 mới nhất cũng chỉ mới được kích hoạt 24 lõi xử lý, vì vậy chúng ta sẽ đủ cơ sở để xem xét tất cả mọi thứ có thể xảy ra với Broadwell-EP

    Trong khi đó, xung nhịp (tubroboost) cao nhất vẫn chỉ là 3.5GHz, xung nhịp cơ sở thì lại giảm một hoặc hai bước và những cải tiến cốt lõi là rất khiêm toostn (chỉ khoảng 5%). Về vấn đề hiệu suất vẫn sẽ không có bước nhảy ngoạn mục nào so với những gì chúng ta đã thấy trong nhiều năm qua.

    Nhưng vẫn có những thông số kỹ thuật mà làm cho các phiên bản Xeon E5 Broadwell trở nên hấp dẫn. Đó là việc Xeon E5 v4 sẽ tiếp tục sử dụng nền tảng socket LGA 2011-3. Sẽ rất ít người nâng cấp Xeon E5 v3 lên Xeon E5 v4, nhưng việc sử dụng cùng một nền tảng nghĩa là chi phí cho các nhà cung cấp máy chủ sẽ ít hơn, và nhiều hơn nữa nếu nói đến phần mềm (như trình điều khiển …) đối với người mua.

    SampleV3andv4_575px.
    trong khác rất khác biệt về kích thước, nhưng sử dụng được trên cùng một socket, bên trên là Xeon E5 v4 và bên dưới là Xeon E5 v3. nguồn ảnh: anandtech
    Broadwell-EP cũng có một số tính năng mà làm cho nó trở thành một bộ xử lý hấp dẫn đối với các máy chủ ảo hóa. Bộ điều khiển bên trong kiểm soát chặt chẽ hơn việc các ứng dụng chia sẽ tài nguyên (bộ nhớ đệm, băng thông bộ nhớ) để tránh tình trạng các ứng dụng có độ ưu tiên thấp làm chậm những ứng dụng có độ ưu tiên cao hơn. Trong khi đó, một vài cải tiến đã được thực hiện để làm cho các ứng dụng I/O chuyên sâu có thể vận hành trơn tru trên lớp ảo hóa. Hầu hết các doanh nghiệp vận hành ứng dụng của họ trên nền tảng ảo hóa và ảo hóa vẫn là thành phần quan trọng của các dịch vụ điện toán đám mây tiên tiến (Amazon, Digital Ocean, Azure…) và ngày càng có nhiều các nhà khai thác viễn thông đang bắt đầu ảo hóa dịch vụ của họ, do đó những tính năng mới chắc chắn sẽ được tận dụng tối đa. Và dĩ nhiên, Intel cũng cải tiến một số tính năng khác nhằm làm cho các đối tượng HPC (chủ yếu các ứng dụng để mô phỏng và tính toán khoa học) cảm thấy vui lòng.

    Nhưng sẽ là sai lầm khi cho rằng ảo hóa và các ứng dụng HPC mới là ứng viên duy nhất của các bộ xử lý Xeon 22 lỗi mới. Thế hệ mới nhất của các trung tâm phân tích dữ liệu có những đòi hỏi lớn hơn trong băng thông lưu trữ và băng thông mạng. Một ví dụ là nền tảng Apache Spark, có thể xử lý hàng Terabyte dữ liệu hiệu quả hơn so với nền tảng Hadoop trước đây bằng cách sử dụng bộ nhớ Ram tốt hơn và cuối cùng cho ra kết quả là một lượng lớn dữ liệu hơn.
     
    Chỉnh sửa cuối: 25/4/16
     
  2. Đang tải...
  3. Kiet Nguyen

    Kiet Nguyen Thiếu tá

    Bài viết:
    1,315
    Đã được thích:
    79
    Broadwell-EP

    Có những gì bên trong đóng gói của một vi xử lý Xeon 22 lỗi? Câu trả lời rất đơn giản: 24 lỗi, 2.5MB bộ nhớ đệm L3 mỗi lỗi, 2 vòng lặp (ring) kết nối bởi 2 cầu nối (s-boxes) và một vài đơn vị “đặc vụ” cho PCIe/PQI/home.

    v4_24coresHCC.

    Thực tế là chỉ có 22 trên 24 lỗi được kích hoạt trong những bộ xử lý Xeon đầu bảng, nhưng việc này hoàn toàn phụ thuộc vào quy cách phân loại sản phẩm. Các bxl Xeon E5 v3 18 lỗi sử dụng cùng thiết kế “die” với Xeon E7, điều này cũng không thay đổi với thế hệ Broadwell-EP.

    “Die” lớn nhất có kích thước (+/- 454mm2) lỗi cao nhất (HCC) trên mỗi SKUs vẫn làm việc với một cấu hình hai vòng kết nối thông qua hai cầu bắc liên kết. Vòng lặp di chuyển dữ liệu theo chiều ngược lại để giảm độ trể bằng cách cho phép dữ liệu đi theo con đường ngắn nhất. Các điểm mày xanh là nơi mà dữ liệu có thể chuyển qua vòng lặp (ring bus). Địa chỉ vật lý được phân bố đều trên các gói bộ nhớ đệm khác nhau (2.5MB cache) để đảm bảo rằng khả năng truy cập trên mỗi mặt bộ nhớ đệm L3 cũng sẽ được phân bổ đều, khi mà nếu như xuất hiện một “điểm nóng” nào đó trên một bộ nhớ đệm L3 có thể làm làm chậm hiệu suất của cả bộ xử lý. Độ trể trên bộ nhớ đệm L3 là khá phổ biến, nếu một lỗi may mắn tìm được dữ liệu cần thiết ngay trên bộ nhớ đệm của nó thì sẽ chỉ cần đến 1 vòng lặp mở rộng. Tuy nhiên, nếu phải lấy dữ liệu từ một bộ nhớ đệm L3 khác, nó sẽ phải tiêu tốn đến 12 vòng lặp, thường thì trung bình việc này chỉ diễn ra ở 6 vòng.

    Trong khi đó, vòng lặp (ring) và các thành phần khác không thuộc các lỗi (uncore) sẽ làm việc với một mức điện áp và xung nhịp riêng biệt. Điện năng có thể tự động cấp phát cho các đối tượng này, mặc dù các thành phần Uncore được giới hạn ở mức 3GHz.

    Cũng giống như Haswell-EP, Xeon E5 v4 Broadwell-EP có ba cấu hình “die” khác nhau. Cấu hình thứ hai hỗ trợ từ 12-15 lỗi và cấu hình thứ ba là phiên bản nhỏ hơn (306mm2). Tất cả cấu hình này đều có hai bộ điều khiển bộ nhớ.

    v4MCC_LLC.

    Trong cấu hình với 10 lỗi trên die, các lỗi bên trong sẽ được chia làm 2 cột, và sẽ chỉ có một bộ điều khiển bộ nhớ nhưng là bộ điều khiển 4 kênh. Do đó, sẽ có sự sụt giảm trong băng thông (5-10%) khi so sánh với các “die” lớn hơn (HCC+MCC) với hai bộ điều khiển bộ nhớ. Và dĩ nhiên là die nhỏ hơn cũng sẽ có lượng bộ nhớ đệm L3 nhỏ hơn (tối đa 25MB), nhưng bộ nhớ L3 nhỏ hơn thì độ trể cũng thấp hơn một chút

    Mối liên kết của bộ nhớ đệm

    Với việc số lỗi tăng lên, nó sẽ ngày càng phức tạp hơn trong việc giữ cho các bộ nhớ đệm được gắn kết với nhau. Intel sử dụng giao thức MESIF (Modified, Exclusive, Shares, Invalid và Forward) để gắn kết bộ nhớ đệm. Home Agent bên trong bộ điều khiển bộ nhớ và Caching Agent bên trong gói bộ nhớ đệm L3 sẽ là hai nhân tố chính cho sự gắn kết liên lạc của bộ nhớ đệm. Để duy trì tính nhất quán, một cơ chế snoop là cần thiết. Hiện nay có ít nhất 4 phương pháp snoop khác nhau.

    Đầu tiên là Early Snoop, mà đã hiện diện trong kiến trúc Sandy Bridge-EP. Caching Agent gởi yêu cầu snoop trong trường hợp một bộ nhớ đệm L3 bị bỏ lỡ, Chế độ Early Snoop cung cấp độ trể thấp, nhưng nó tạo ra lưu lượng phát lớn. Kết quả là nó không phải là một thực sự tốt đối với những “die” có số lỗi cao vận hành ở băng thông với các ứng dụng chuyên sâu.

    Thứ hai: chế độ Home Snoop, mà đã được giới thiệu với Ivy Bridge, dòng bộ nhớ đệm sẽ không còn truyền tin gởi yêu cầu đến bộ nhớ L3 nữa nhưng được chuyển thẳng đến Home Agent. Điều này sẽ tăng thêm một chút về độ trể, nhưng làm giảm đáng kể sự mạch lạc lưu lượng của bộ nhớ đệm.

    Trong khi đó, Haswell-EP được thêm chế độ thứ ba, Cluster on Die (CoD). Mỗi Home Agent có 14kb thư mục bộ nhớ đệm (directory cache). Vùng bộ nhớ đệm này sẽ theo dõi dòng lưu lượng bộ nhớ đệm để giảm độ trể lưu lượng giữa các bộ nhớ đệm (cache-to-cache). Trong trường hợp có yêu cầu, nó sẽ được kiểm tra đầu tiên và bộ nhớ đệm vùng sẽ trả về một “hit”, Snoop sẽ chỉ gởi dữ liệu đến nơi đã được chỉ định bởi directory cache.

    Snoopmodes.

    Chế độ thứ tư, được giới thiệu trên Broadwell-EP, là phương pháp “Home Snoop”, nhưng đã được cải tiến với việc sử dụng bộ nhớ đệm thư mục và dự đoán trước các tình huống xẩy ra. Chế độ này sẽ bắt đầu tìm hiểu trước các tình huống từ xa song song đó là đọc dữ liệu trong bộ nhớ đệm thư mục thay vì phải chời để được xử lý sau đó. Đây là phương pháp mặc định trên Broadwell-EP.

    v4CacheCoherencyCompared.
    Trên Broadwell-EP, độ trể trên bộ nhớ được giảm đi đáng kể​

    v4_memoryRAS_earlySnoop.
    Các chế độ snoop có thể được kích hoạt trong BIOS hệ thống.​
     
    Chỉnh sửa cuối: 3/6/16
  4. Kiet Nguyen

    Kiet Nguyen Thiếu tá

    Bài viết:
    1,315
    Đã được thích:
    79
    Những cải tiến trong kiến trúc Broadwell-EP

    Thuộc chu kỳ “tick”, bên trong "die" là một kiến trúc hiện tại, không phải là một kiến trúc hoàn toàn mới – do đó, chúng ta chỉ nên mong đợi những cải tiến trong IPC. Hầu hết các Xeon E5 v4 đều có xung nhịp thấp hơn so với Haswell-EP, nên nhìn chung hiệu suất trong tính toán đơn luồng hầu như không được cải thiện. Intel đã nói rằng thông qua các công cụ mô phỏng đã cho thấy Broadwell-EP cung cấp hiệu suất tốt hơn khoảng 5% khi tính trên mỗi đơn vị xung nhịp tính toán trong các lệnh non-AVX2.

    v4_IPCimprov.

    Intel đã thực hiện một số cải tiến trong vi kiến trúc như:
    • Faster divider: lower latency & higher throughput
    • AVX multiply latency has decreased from 5 to 3
    • Bigger TLB (1.5k vs 1k entries)
    • Slightly improved branch prediction (as always)
    • Larger scheduler (64 vs 60)
    Có thể hiểu rằng, Broadwell thực chất chính là Haswell mà được sản xuất trên quy trình đóng gói 14nm tri-gate thế hệ thứ hai của Intel. Intel đã thực hiện một số cải tiến tinh tế bên trong vi kiến trúc.

    Không phải tất cả những cải tiến điều mang lại sự cải thiện lớn về hiệu suất. Những cải tiến lớn hơn phải đến từ các tính năng khác.

    Tính năng mới

    So sánh với Haswell-EP, Broadwell-EP đã giới thiệu một số tính năng mmowsi. Đầu tiên là cải tiến về Power Control Unit.

    v4_AVXandTurbo.

    Trên Haswell, mỗi tập lệnh AVX trên một nhân sẽ buộc tất cả các nhân khác trên cùng một socket giảm tốc độ xung nhịp của chúng xuống khoảng 2-4 bước nhảy xung nhịp (-200, -400MHz) cho mỗi 1ms. Trên Broadwell, chỉ nhân mà thực thi lệnh AVX mới phải tự động giảm xung nhịp của chính nó, các nhân còn lại vẫn được phép hoạt động ở tốc độ cao.

    Tính năng hiệu suất khác đó là cải thiện tập lệnh PCLMULQDQ: băng thông tăng gấp đôi và độ trể giảm từ 7 xuống 5 vòng.

    V4_crypto.

    Điều này làm tăng hiệu suất mã hóa AES từ 20-25%, và CRCs (Cylic Redundancy Check) nhanh hơn đến 90%. Boardwell-EP cũng có một số tập lệnh ADCX/ADOX mới để tăng tốc độ mã hóa thuật toán bất đối xứng như RSA phổ biến. Những cải tiến trên được thực hiện trong OpenSSL 1.0.2-beta3. Nhưng đừng mong đợi nhiều từ nó. Các tính toán mã hóa bất đối xứng thường được sử dụng để bắt đầu một kết nối an toàn. Hầu hết các ứng dụng web hiện đại luôn giữ “session” trực tuyến, và như một kết quả, các sự kiện mà yêu cầu mã hóa bất đối xứng xẩy ra ít thường xuyên hơn. Mã hóa đối xứng (AES) được sử dụng để gởi dữ liệu mã hóa là nhẹ hơn rất nhiều, vì vậy ngay cả trên một trang web được mã hóa hoàn toàn với dòng dữ liệu mã hóa dài, việc mã hóa chỉ chiếm một tỷ lệ phần trăm (dưới 5%) rất nhỏ trong tải trọng tính toán.
     
    Chỉnh sửa cuối: 3/6/16
  5. Kiet Nguyen

    Kiet Nguyen Thiếu tá

    Bài viết:
    1,315
    Đã được thích:
    79
    Tính năng chia sẽ bộ nhớ đệm và bộ nhớ hệ thống

    Trong môi trường ảo hóa, các máy chủ ảo hóa đều chia sẽ cả bộ nhớ đệm trên CPU cũng như toàn bộ băng thông bộ nhớ DRAM hệ thống. Một ứng dụng đói bộ nhớ đệm có thể ăn hết tất cả bộ nhớ đệm L3, và một băng thông sâu hơn có thể thực hiện điều tương tự với sự sẳn có và chia sẽ băng thông từ bộ nhớ. Những máy ảo đã tạo ra những vấn đề tương tự như “những gã hàng xóm phiền toái”, đó là một tin xấu đối với những ai muốn tạo nhiều máy ảo trên một máy chủ Xeon, nhưng nó vẫn thật sự cần thiết cho các công ty viễn thông và các kịch bản khác, nơi mà họ cần sự đảm bảo trong “QoS” và độ trể là phải được rút ngắn. Đối với Intel, đây là một kịch bản đáng chú ý đến, khi mà thị trường viễn thông là một trong vài thị trường mà Xeon vẫn có cơ hội để phát triển. Nhiều ứng dụng viễn thông vẫn hoạt động độc lập riêng lẽ, mà làm cho ảo hóa có thể trở thành một lựa chọn hấp dẫn nếu Intel có thể giải quyết được vấn đề về độ trể tín hiệu.

    v4_RDT.

    Haswell đã có được một số tính năng để quản lý giám sát việc sử dụng bộ nhớ đệm, do đó cho phép người dùng nhận dạng được “những người hàng xóm ồn ào”. Tuy nhiên, công nghệ RDT (Resource Director Technology” của Broadwell có thể làm được nhiều hơn.

    RDT không chỉ có thể theo dõi việc sử dụng bộ nhớ đệm L3 và băng thông bộ nhớ, mà nó còn có thể phân bổ dung lượng bộ nhớ đệm L3 trên mỗi luồng/tiến trình/máy chủ ảo. Nhiều luồng được gán một Resource Monitoring ID. Tám trong số RMID hiện diện trên mỗi phần của nhân/bộ nhớ đệm. Mười sáu lớp khác nhau của dịch vụ có thể được gán cho một RMID: các ứng dụng/luồng ưu tiên có thể có một lớp cao hơn, và do đó sẽ có nhiều dung lượng bộ nhớ đệm L3 hơn.

    v4_graphviewofresourcedirector.

    Intel đã trình diễn một ứng dụng mà sử dụng các MSR mới để trích xuất băng thông bộ nhớ và tiêu thụ bộ nhớ đệm trên các cấp độ khác nhau.

    Nguồn tham khảo: Anandtech, CPUWorld, Intel
     
    Chỉnh sửa cuối: 1/6/16