Changes between Version 6 and Version 7 of PhalUserGuide

Show
Ignore:
Timestamp:
11/07/08 14:16:03 (16 years ago)
Author:
ismael (IP: 62.57.188.40)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PhalUserGuide

    v6 v7  
    105105{{{ 
    106106runph$: phpause wimax 
     107 
    107108runph$: phrun wimax 1000 
    108109}}} 
     
    112113== Customizing your Platform == 
    113114 
     115P-HAL Linux launcher admits two configuration files as arguments which modify certain Platform parameters. In this section we describe how to configure such parameters and what implications do they have: 
     116 
     117'''Platform Configuration File''': This file has one mandatory section, ''[cpu_info]'', and N optional sections, ''[daemon]''. The second selects which daemons (and their path) will be launched by runph. You can add or remove them according to which daemons you need in your platform (see PhalManual). The CPU configuration section, has two fields: 
     118 * ''mips'': Capacity in MIPS of your computer. 
     119 * ''tslot'': Duration of the time slot, in microseconds. 
     120  
     121'''External Interfaces Configuration File''': This files has one section for each external TCP interface of your platform. Before creating a network of P-HAL platforms, you should be very familiar with the P-HAL Environment concepts as it compromises selecting which daemons will run every platform, which depends on your network architecture. The format of the file is a set of sections (''[xitf]'') with the following mandatory fields: 
     122 * ''id'': Identification of the interface (hexadecimal 16-bit integer). Not any value is accepted as it is used by daemons to discover the purpose of the interface. It must be one of the following: 
     123  * 0x1: Master Control Interface. 
     124  * 0x1n: n=[0..F], Slave Control Interface. 
     125  * 0xpq: p=[2..F],q=[0..F], Data Interfaces 
     126 
    114127[[BR]] 
    115128 
     
    117130 
    118131To get the best performance of your waveform, the following hints may be useful: 
    119  * Compile your modules with highest optimization and specify your processor architecture, e.g.: 
     132 * Compile your modules with '''highest optimization''' and specify your processor architecture, e.g.: 
    120133 {{{ 
    121134 gcc -O3 -march=native -mfpmath=sse 
     
    123136 if you have a pentium/athlon processor with sse extensions. 
    124137 
    125  * Disable statistics or logs. These services may use a certain amount of CPU and bandwidth resources, disabling them may increase global performance. You can do that entering the following command in the P-HAL console: 
     138 * '''Disable statistics or logs'''. These services may use a certain amount of CPU and bandwidth resources, disabling them may increase global performance. You can do that entering the following command in the P-HAL console: 
    126139 {{{ 
    127140 runph$: hwcmd stats_off 
     
    130143 You can re-enable them substituting 'off' by 'on'. 
    131144 
    132  * Run waveform processes with higher priority. Use the optional argument ''-p [priority]'' to set a lower kernel priority to your waveform processes. Normal kernel priorities are 0 and higher, if you choose lower priority for waveform processes, they will low with lower priority which may increase performance and/or time resolution. Use this option with caution, because if your component hangs (i.e. because of an infinite loop), any process would get scheduled, preventing it to be killed, which may totally freeze your computer. 
     145 * Run waveform processes with '''higher priority'''. Use the optional argument ''-p [priority]'' to set a lower kernel priority to your waveform processes. Normal kernel priorities are 0 and higher, if you choose lower priority for waveform processes, they will low with lower priority which may increase performance and/or time resolution. Use this option with caution, because if your component hangs (i.e. because of an infinite loop), any process would get scheduled, preventing it to be killed, which may totally freeze your computer. 
    133146 
    134  * Increase Kernel time resolution. Another measure you can adopt to achieve a higher performance can be increasing the kernel timer frequency. To do such you must recompile your kernel. How to do that is out of the scope of this document, however, if you use ''menuconfig'', the option you have to change is at '''Processor type and features->Timer frecuency'''. Setting that to 1000 Hz implies a resolution of 1ms which, with at 10ms slot duration may be quite enough. 
     147 * '''Increase Kernel time resolution'''. Another measure you can adopt to achieve a higher performance can be increasing the kernel timer frequency. To do such you must recompile your kernel. How to do that is out of the scope of this document, however, if you use ''menuconfig'', the option you have to change is at '''Processor type and features->Timer frecuency'''. Setting that to 1000 Hz implies a resolution of 1ms which, with at 10ms slot duration may be quite enough. 
    135148 
    136149