[Contents] [Prev] [Next] [Index] [Report an Error]

Configuring the MultiServices PIC

To configure an SDK application, include the following statements at the [edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider] hierarchy level:

[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]
control-cores control-number;
data-cores data-number;
forwarding-db-size size;
object-cache-size value;
package package-name;
policy-db-size size;
wired-process-mem-size size;
syslog {
facility severity;
}

There are eight cores in a PIC. Some cores, called control cores, are dedicated to running control functionality for the application. Cores dedicated to processing data for the application are called data cores. You must designate at least one core as a control core. Although it is not mandatory to designate any cores as data cores, it is advisable to designate a minimum of five, depending on the nature of the application, to achieve good performance. The total number of cores, both control and data cores, that you can dedicate using the extension-provider statement ranges from one through eight. Any cores not configured as control or data cores are treated as user cores.

Note: For help with architecting your application, consult with JUNOS SDK Developer Support.

The MultiServices PIC has a shared memory pool that contains the object cache and the forwarding database (FDB). The FDB provides access to the route information. It is a separate memory derived from the object cache shared memory on the MultiServices PIC.

A large FDB implies there is less object cache for the application, which can affect performance depending on the application. For example, if an application needs a maximum of 256 MB of object cache for its functionality and the value of object-cache-size is 512 MB, the object cache can allocate up to 256 MB to the FDB without any performance impact. However, if the value set for object-cache-size is only 256 MB and forwarding-db-size is set to 64MB, there will be some performance impact.

Note: You need to enable forwarding options sampling for the FDB to be created. For information about enabling sampling, see Enabling Sampling on a MultiServices PIC.

To tune SDK application performance, use the object-cache-size statement, specifying a value that is a multiple of 128 megabytes (MB). For the MS-100 PIC, the range is from 128 through 512 MB, and for the MS-400 PIC, from 128 through 1280 MB.

Note: Changing the object cache size on a running system causes the PIC to reboot.

JUNOS SDK applications are installed on the MultiServices PIC in one or more packages. To designate which SDK application package to install on a given PIC, include the package package-name option. Up to eight packages can be installed on a PIC; however, only one data package is allowed per PIC.

Note: You cannot install both a JUNOS service package and an SDK application package on the same PIC.

You cannot install more than one SDK application on a PIC.

The policy-db-size statement defines the size of policies that providers expect to be present in their system. It is configured in megabytes. The size should be less than that set for the object-cache-size statement.

To record or view system log messages on a specific PIC, include the syslog statement. System log information is passed to the Routing Engine and put in the /var/log/messages directory. Two facilities are supported: external and pfe. The pfe facility logs actions performed or errors encountered by the Packet Forwarding Engine. The external facility covers everything outside of the Packet Forwarding Engine. Severity is the same as for the JUNOS software; see Table 20 for the severity levels that you can specify.

Wired process memory is virtual memory used to reduce Translation Look-aside Buffer (TLB) misses. To configure wired process memory size, specify an amount of virtual memory for the wired-process-mem-size statement. Up to 512 MB of wired memory is available. In addition, you can also configure the object cache.

Example: extension-provider Statement

In the following example, several PIC configurations are demonstrated. All but one of the available cores are configured. Three cores are control cores, four are data cores, and one is a user core.

[edit]
chassis {
fpc 0 {
pic 1 {
adaptive-services {
service-package {
extension-provider {
control-cores 1;
data-cores 6;
forwarding-db-size 128;
object-cache-size 768;
package jnx-flow-data;
policy-db-size 128;
wired-process-mem-size 512;
}
}
}
}
}
}

[Contents] [Prev] [Next] [Index] [Report an Error]