17.2.4. OpenNESS에서 애플리케이션 Pod 액세스 및 ACC100 사용 확인


개방성은 모든 유형의 네트워크에서 애플리케이션 및 네트워크 기능을 온보드하고 관리하는 데 사용할 수 있는 에지 컴퓨팅 소프트웨어 툴킷입니다.

SR-IOV 바인딩, 장치 플러그인,bbdev(bbdev) 구성, 루트가 아닌 Pod 내의 SR-IOV(FEC) VF 기능을 포함하여 모든 OpenNESS 기능이 함께 작동하는지 확인하기 위해 이미지를 빌드하고 장치에 대한 간단한 검증 애플리케이션을 실행할 수 있습니다.

자세한 내용은 openess.org 에서 확인하십시오.

사전 요구 사항

  • FEC Accelerator용 OpenNESS SR-IOV Operator와 함께 설치된 노드 또는 노드입니다.
  • Performance Addon Operator로 구성된 실시간 커널 및 대규모 페이지입니다.

절차

  1. 다음 작업을 완료하여 테스트의 네임스페이스를 생성합니다.

    1. 다음 예와 같이 test-bbdev -namespace.yaml 파일 파일을 생성하여 test-bbdev 네임스페이스를 정의합니다.

      apiVersion: v1
      kind: Namespace
      metadata:
        name: test-bbdev
        labels:
          openshift.io/run-level: "1"
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 네임스페이스를 생성합니다.

      $ oc create -f test-bbdev-namespace.yaml
      Copy to Clipboard Toggle word wrap
  2. 다음 Pod 사양을 생성한 다음 YAML을 pod-test.yaml 파일에 저장합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod-bbdev-sample-app
      namespace: test-bbdev 
    1
    
    spec:
      containers:
      - securityContext:
          privileged: false
          capabilities:
            add:
            - IPC_LOCK
            - SYS_NICE
        name: bbdev-sample-app
        image: bbdev-sample-app:1.0  
    2
    
        command: [ "sudo", "/bin/bash", "-c", "--" ]
        runAsUser: 0 
    3
    
        resources:
          requests:
            hugepages-1Gi: 4Gi 
    4
    
            memory: 1Gi
            cpu: "4" 
    5
    
            intel.com/intel_fec_acc100: '1' 
    6
    
          limits:
            memory: 4Gi
            cpu: "4"
            hugepages-1Gi: 4Gi
            intel.com/intel_fec_acc100: '1'
    Copy to Clipboard Toggle word wrap
    1
    1단계에서 생성한 네임스페이스 를 지정합니다.
    2
    이는 컴파일된 DPDK를 포함하는 테스트 이미지를 정의합니다.
    3
    컨테이너를 root 사용자로 내부적으로 실행하도록 설정합니다.
    4
    hugepage 크기 hugepages-1Gi 를 지정하고 Pod에 할당할 hugepage 수량을 지정합니다. Performance Addon Operator를 사용하여 대규모 페이지 및 분리된 CPU를 구성해야 합니다.
    5
    CPU 수를 지정합니다.
    6
    intel.com/intel_fec_acc100에서 ACC100 5G FEC 구성 테스트를 지원합니다.
  3. Pod를 생성합니다.

    $ oc apply -f pod-test.yaml
    Copy to Clipboard Toggle word wrap
  4. Pod가 생성되었는지 확인합니다.

    $ oc get pods -n test-bbdev
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                                            READY           STATUS          RESTARTS        AGE
    pod-bbdev-sample-app                            1/1             Running         0               80s
    Copy to Clipboard Toggle word wrap

  5. 원격 쉘을 사용하여 pod-bbdev-sample-app 에 로그인합니다.

    $ oc rsh pod-bbdev-sample-app
    Copy to Clipboard Toggle word wrap

    출력 예

    sh-4.4#
    Copy to Clipboard Toggle word wrap

  6. Pod에 할당된 VF를 출력합니다.

    sh-4.4# printenv | grep INTEL_FEC
    Copy to Clipboard Toggle word wrap

    출력 예

    PCIDEVICE_INTEL_COM_INTEL_FEC_ACC100=0.0.0.0:1d.00.0 
    1
    Copy to Clipboard Toggle word wrap

    1
    가상 기능의 PCI 주소입니다.
  7. test-bbdev 디렉터리로 변경합니다.

    sh-4.4# cd test/test-bbdev/
    Copy to Clipboard Toggle word wrap
  8. Pod에 할당된 CPU를 확인합니다.

    sh-4.4# export CPU=$(cat /sys/fs/cgroup/cpuset/cpuset.cpus)
    sh-4.4# echo ${CPU}
    Copy to Clipboard Toggle word wrap

    그러면 the fec.pod 에 할당된 CPU가 출력됩니다.

    출력 예

    24,25,64,65
    Copy to Clipboard Toggle word wrap

  9. test-bbdev 애플리케이션을 실행하여 장치를 테스트합니다.

    sh-4.4# ./test-bbdev.py -e="-l ${CPU} -a ${PCIDEVICE_INTEL_COM_INTEL_FEC_ACC100}" -c validation \ -n 64 -b 32 -l 1 -v ./test_vectors/*"
    Copy to Clipboard Toggle word wrap

    출력 예

    Executing: ../../build/app/dpdk-test-bbdev -l 24-25,64-65 0000:1d.00.0 -- -n 64 -l 1 -c validation -v ./test_vectors/bbdev_null.data -b 32
    EAL: Detected 80 lcore(s)
    EAL: Detected 2 NUMA nodes
    Option -w, --pci-whitelist is deprecated, use -a, --allow option instead
    EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
    EAL: Selected IOVA mode 'VA'
    EAL: Probing VFIO support...
    EAL: VFIO support initialized
    EAL:   using IOMMU type 1 (Type 1)
    EAL: Probe PCI driver: intel_fpga_5ngr_fec_vf (8086:d90) device: 0000:1d.00.0 (socket 1)
    EAL: No legacy callbacks, legacy socket not created
    
    
    
    ===========================================================
    Starting Test Suite : BBdev Validation Tests
    Test vector file = ldpc_dec_v7813.data
    Device 0 queue 16 setup failed
    Allocated all queues (id=16) at prio0 on dev0
    Device 0 queue 32 setup failed
    Allocated all queues (id=32) at prio1 on dev0
    Device 0 queue 48 setup failed
    Allocated all queues (id=48) at prio2 on dev0
    Device 0 queue 64 setup failed
    Allocated all queues (id=64) at prio3 on dev0
    Device 0 queue 64 setup failed
    All queues on dev 0 allocated: 64
    + ------------------------------------------------------- +
    == test: validation
    dev:0000:b0:00.0, burst size: 1, num ops: 1, op type: RTE_BBDEV_OP_LDPC_DEC
    Operation latency:
            avg: 23092 cycles, 10.0838 us
            min: 23092 cycles, 10.0838 us
            max: 23092 cycles, 10.0838 us
    TestCase [ 0] : validation_tc passed
     + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
     + Test Suite Summary : BBdev Validation Tests
     + Tests Total :        1
     + Tests Skipped :      0
     + Tests Passed :       1 
    1
    
     + Tests Failed :       0
     + Tests Lasted :       177.67 ms
     + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
    Copy to Clipboard Toggle word wrap

    1
    일부 테스트를 건너뛸 수 있지만 벡터 테스트가 통과되는지 확인하십시오.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat